Symbol: scb_data
sys/dev/ic/aic79xx.c
3328
for (scb_tag = 0; scb_tag < ahd->scb_data.maxhscbs; scb_tag++) {
sys/dev/ic/aic79xx.c
5394
for (i = 0; i < ahd->scb_data.maxhscbs; i++) {
sys/dev/ic/aic79xx.c
5408
struct scb_data *scb_data;
sys/dev/ic/aic79xx.c
5411
scb_data = &ahd->scb_data;
sys/dev/ic/aic79xx.c
5412
TAILQ_INIT(&scb_data->free_scbs);
sys/dev/ic/aic79xx.c
5414
LIST_INIT(&scb_data->free_scb_lists[i]);
sys/dev/ic/aic79xx.c
5415
LIST_INIT(&scb_data->any_dev_free_scb_list);
sys/dev/ic/aic79xx.c
5416
SLIST_INIT(&scb_data->hscb_maps);
sys/dev/ic/aic79xx.c
5417
SLIST_INIT(&scb_data->sg_maps);
sys/dev/ic/aic79xx.c
5418
SLIST_INIT(&scb_data->sense_maps);
sys/dev/ic/aic79xx.c
5421
scb_data->maxhscbs = ahd_probe_scbs(ahd);
sys/dev/ic/aic79xx.c
5422
if (scb_data->maxhscbs == 0) {
sys/dev/ic/aic79xx.c
5441
if (scb_data->numscbs == 0) {
sys/dev/ic/aic79xx.c
5474
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
sys/dev/ic/aic79xx.c
5488
LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) {
sys/dev/ic/aic79xx.c
5499
struct scb_data *scb_data;
sys/dev/ic/aic79xx.c
5501
scb_data = &ahd->scb_data;
sys/dev/ic/aic79xx.c
5502
if (scb_data == NULL)
sys/dev/ic/aic79xx.c
5505
switch (scb_data->init_level) {
sys/dev/ic/aic79xx.c
5511
while ((sns_map = SLIST_FIRST(&scb_data->sense_maps)) != NULL) {
sys/dev/ic/aic79xx.c
5512
SLIST_REMOVE_HEAD(&scb_data->sense_maps, links);
sys/dev/ic/aic79xx.c
5524
while ((sg_map = SLIST_FIRST(&scb_data->sg_maps)) != NULL) {
sys/dev/ic/aic79xx.c
5525
SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
sys/dev/ic/aic79xx.c
5538
while ((hscb_map = SLIST_FIRST(&scb_data->hscb_maps)) != NULL) {
sys/dev/ic/aic79xx.c
5539
SLIST_REMOVE_HEAD(&scb_data->hscb_maps, links);
sys/dev/ic/aic79xx.c
5615
free_list = &ahd->scb_data.free_scb_lists[col_idx];
sys/dev/ic/aic79xx.c
5616
free_tailq = &ahd->scb_data.free_scbs;
sys/dev/ic/aic79xx.c
5636
free_list = &ahd->scb_data.free_scb_lists[col_idx];
sys/dev/ic/aic79xx.c
5637
free_tailq = &ahd->scb_data.free_scbs;
sys/dev/ic/aic79xx.c
5664
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
sys/dev/ic/aic79xx.c
5670
if ((scb = LIST_FIRST(&ahd->scb_data.any_dev_free_scb_list)) == NULL)
sys/dev/ic/aic79xx.c
5694
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL;
sys/dev/ic/aic79xx.c
5701
LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
sys/dev/ic/aic79xx.c
5711
LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
sys/dev/ic/aic79xx.c
5713
LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
sys/dev/ic/aic79xx.c
5733
LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
sys/dev/ic/aic79xx.c
5743
struct scb_data *scb_data;
sys/dev/ic/aic79xx.c
5757
scb_data = &ahd->scb_data;
sys/dev/ic/aic79xx.c
5758
if (scb_data->numscbs >= AHD_SCB_MAX_ALLOC)
sys/dev/ic/aic79xx.c
5762
KASSERT(scb_data->scbs_left >= 0);
sys/dev/ic/aic79xx.c
5763
if (scb_data->scbs_left != 0) {
sys/dev/ic/aic79xx.c
5766
offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left;
sys/dev/ic/aic79xx.c
5767
hscb_map = SLIST_FIRST(&scb_data->hscb_maps);
sys/dev/ic/aic79xx.c
5790
SLIST_INSERT_HEAD(&scb_data->hscb_maps, hscb_map, links);
sys/dev/ic/aic79xx.c
5794
scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb);
sys/dev/ic/aic79xx.c
5797
scb_data->init_level++;
sys/dev/ic/aic79xx.c
5799
if (scb_data->sgs_left != 0) {
sys/dev/ic/aic79xx.c
5803
- scb_data->sgs_left) * ahd_sglist_size(ahd);
sys/dev/ic/aic79xx.c
5804
sg_map = SLIST_FIRST(&scb_data->sg_maps);
sys/dev/ic/aic79xx.c
5827
SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
sys/dev/ic/aic79xx.c
5831
scb_data->sgs_left =
sys/dev/ic/aic79xx.c
5840
scb_data->init_level++;
sys/dev/ic/aic79xx.c
5843
if (scb_data->sense_left != 0) {
sys/dev/ic/aic79xx.c
5846
offset = PAGE_SIZE - (AHD_SENSE_BUFSIZE * scb_data->sense_left);
sys/dev/ic/aic79xx.c
5847
sense_map = SLIST_FIRST(&scb_data->sense_maps);
sys/dev/ic/aic79xx.c
5870
SLIST_INSERT_HEAD(&scb_data->sense_maps, sense_map, links);
sys/dev/ic/aic79xx.c
5874
scb_data->sense_left = PAGE_SIZE / AHD_SENSE_BUFSIZE;
sys/dev/ic/aic79xx.c
5882
scb_data->init_level++;
sys/dev/ic/aic79xx.c
5884
newcount = MIN(scb_data->sense_left, scb_data->scbs_left);
sys/dev/ic/aic79xx.c
5885
newcount = MIN(newcount, scb_data->sgs_left);
sys/dev/ic/aic79xx.c
5886
newcount = MIN(newcount, (AHD_SCB_MAX_ALLOC - scb_data->numscbs));
sys/dev/ic/aic79xx.c
5887
scb_data->sense_left -= newcount;
sys/dev/ic/aic79xx.c
5888
scb_data->scbs_left -= newcount;
sys/dev/ic/aic79xx.c
5889
scb_data->sgs_left -= newcount;
sys/dev/ic/aic79xx.c
5944
next_scb->hscb->tag = ahd_htole16(scb_data->numscbs);
sys/dev/ic/aic79xx.c
5945
col_tag = scb_data->numscbs ^ 0x100;
sys/dev/ic/aic79xx.c
5956
scb_data->numscbs++;
sys/dev/ic/aic79xx.c
5983
ahd->scb_data.maxhscbs);
sys/dev/ic/aic79xx.c
6101
memset(&ahd->scb_data, 0, sizeof(struct scb_data));
sys/dev/ic/aic79xx.c
7245
if (scbid >= ahd->scb_data.numscbs) {
sys/dev/ic/aic79xx.c
7248
ahd_name(ahd), scbid, ahd->scb_data.numscbs);
sys/dev/ic/aic79xx.c
7305
if (scbid >= ahd->scb_data.numscbs) {
sys/dev/ic/aic79xx.c
7308
ahd_name(ahd), scbid, ahd->scb_data.numscbs);
sys/dev/ic/aic79xx.c
8718
ahd->scb_data.numscbs, ahd_inw(ahd, CMDS_PENDING),
sys/dev/ic/aic79xx.c
8744
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
sys/dev/ic/aic79xx.c
8754
LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) {
sys/dev/ic/aic79xx_inline.h
712
scb = ahd->scb_data.scbindex[tag];
sys/dev/ic/aic79xx_inline.h
755
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb;
sys/dev/ic/aic79xx_osm.c
404
if (ahd->scb_data.numscbs >= AHD_SCB_MAX_ALLOC)
sys/dev/ic/aic79xx_osm.c
632
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb;
sys/dev/ic/aic79xx_osm.c
88
ahd->sc_adapter.adapt_openings = ahd->scb_data.numscbs - 1;
sys/dev/ic/aic79xxvar.h
1076
struct scb_data scb_data;
sys/dev/ic/aic7xxx.c
2138
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
3815
if (ahc->scb_data == NULL) {
sys/dev/ic/aic7xxx.c
3816
ahc->scb_data = malloc(sizeof(*ahc->scb_data),
sys/dev/ic/aic7xxx.c
4135
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
4171
struct scb_data *scb_data;
sys/dev/ic/aic7xxx.c
4173
scb_data = ahc->scb_data;
sys/dev/ic/aic7xxx.c
4174
SLIST_INIT(&scb_data->free_scbs);
sys/dev/ic/aic7xxx.c
4175
SLIST_INIT(&scb_data->sg_maps);
sys/dev/ic/aic7xxx.c
4178
scb_data->scbarray = malloc(sizeof(struct scb) * AHC_SCB_MAX_ALLOC,
sys/dev/ic/aic7xxx.c
4183
scb_data->maxhscbs = ahc_probe_scbs(ahc);
sys/dev/ic/aic7xxx.c
4191
if (ahc->scb_data->maxhscbs == 0) {
sys/dev/ic/aic7xxx.c
4210
&scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx.c
4211
(void **)&scb_data->hscbs, &scb_data->hscb_busaddr,
sys/dev/ic/aic7xxx.c
4212
&scb_data->hscb_seg, &scb_data->hscb_nseg, ahc_name(ahc),
sys/dev/ic/aic7xxx.c
4216
scb_data->init_level++;
sys/dev/ic/aic7xxx.c
4220
&scb_data->sense_dmamap, (void **)&scb_data->sense,
sys/dev/ic/aic7xxx.c
4221
&scb_data->sense_busaddr, &scb_data->sense_seg,
sys/dev/ic/aic7xxx.c
4222
&scb_data->sense_nseg, ahc_name(ahc), "sense buffers") < 0)
sys/dev/ic/aic7xxx.c
4225
scb_data->init_level++;
sys/dev/ic/aic7xxx.c
4228
memset(scb_data->hscbs, 0,
sys/dev/ic/aic7xxx.c
4231
scb_data->init_level++;
sys/dev/ic/aic7xxx.c
4233
if (scb_data->numscbs == 0) {
sys/dev/ic/aic7xxx.c
4259
struct scb_data *scb_data;
sys/dev/ic/aic7xxx.c
4261
scb_data = ahc->scb_data;
sys/dev/ic/aic7xxx.c
4262
if (scb_data == NULL)
sys/dev/ic/aic7xxx.c
4265
switch (scb_data->init_level) {
sys/dev/ic/aic7xxx.c
4271
while ((sg_map = SLIST_FIRST(&scb_data->sg_maps))!= NULL) {
sys/dev/ic/aic7xxx.c
4272
SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
sys/dev/ic/aic7xxx.c
4283
scb_data->sense_dmamap, (void *)scb_data->sense,
sys/dev/ic/aic7xxx.c
4284
&scb_data->sense_seg, scb_data->sense_nseg);
sys/dev/ic/aic7xxx.c
4289
scb_data->hscb_dmamap, (void *)scb_data->hscbs,
sys/dev/ic/aic7xxx.c
4290
&scb_data->hscb_seg, scb_data->hscb_nseg);
sys/dev/ic/aic7xxx.c
4297
if (scb_data->scbarray != NULL)
sys/dev/ic/aic7xxx.c
4298
free(scb_data->scbarray, M_DEVBUF);
sys/dev/ic/aic7xxx.c
4304
struct scb_data *scb_data;
sys/dev/ic/aic7xxx.c
4312
scb_data = ahc->scb_data;
sys/dev/ic/aic7xxx.c
4313
if (scb_data->numscbs >= AHC_SCB_MAX_ALLOC)
sys/dev/ic/aic7xxx.c
4317
next_scb = &scb_data->scbarray[scb_data->numscbs];
sys/dev/ic/aic7xxx.c
4335
SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
sys/dev/ic/aic7xxx.c
4341
newcount = MIN(newcount, (AHC_SCB_MAX_ALLOC - scb_data->numscbs));
sys/dev/ic/aic7xxx.c
4369
next_scb->hscb = &scb_data->hscbs[scb_data->numscbs];
sys/dev/ic/aic7xxx.c
4370
next_scb->hscb->tag = ahc->scb_data->numscbs;
sys/dev/ic/aic7xxx.c
4371
SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs,
sys/dev/ic/aic7xxx.c
4376
ahc->scb_data->numscbs++;
sys/dev/ic/aic7xxx.c
4420
ahc->scb_data->maxhscbs, AHC_MAX_QUEUE);
sys/dev/ic/aic7xxx.c
4422
snprintf(tbuf + len, l - len, "%d SCBs", ahc->scb_data->maxhscbs);
sys/dev/ic/aic7xxx.c
4534
if (ahc->scb_data->maxhscbs == 0)
sys/dev/ic/aic7xxx.c
4540
ahc->scb_data->maxhscbs);
sys/dev/ic/aic7xxx.c
4564
if (ahc->scb_data->maxhscbs < AHC_SCB_MAX_ALLOC) {
sys/dev/ic/aic7xxx.c
4797
physaddr = ahc->scb_data->hscb_busaddr;
sys/dev/ic/aic7xxx.c
5409
ahc->scb_data->scbindex[scb->hscb->tag] = NULL;
sys/dev/ic/aic7xxx.c
5435
if (scb_index >= ahc->scb_data->numscbs) {
sys/dev/ic/aic7xxx.c
5438
scb_index, ahc->scb_data->numscbs);
sys/dev/ic/aic7xxx.c
5621
if (scb_index >= ahc->scb_data->numscbs) {
sys/dev/ic/aic7xxx.c
5624
scb_index, ahc->scb_data->numscbs);
sys/dev/ic/aic7xxx.c
5847
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
6661
printf("\nSCB count = %d\n", ahc->scb_data->numscbs);
sys/dev/ic/aic7xxx.c
6719
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
6752
SLIST_FOREACH(scb, &ahc->scb_data->free_scbs, links.sle) {
sys/dev/ic/aic7xxx.c
923
ahc->scb_data->hscbs[scbptr].tag);
sys/dev/ic/aic7xxx_inline.h
197
return (ahc->scb_data->hscb_busaddr
sys/dev/ic/aic7xxx_inline.h
205
ahc->scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx_inline.h
206
/*offset*/(scb->hscb - ahc->scb_data->hscbs) * sizeof(*scb->hscb),
sys/dev/ic/aic7xxx_inline.h
372
if ((scb = SLIST_FIRST(&ahc->scb_data->free_scbs)) == NULL)
sys/dev/ic/aic7xxx_inline.h
374
SLIST_REMOVE_HEAD(&ahc->scb_data->free_scbs, links.sle);
sys/dev/ic/aic7xxx_inline.h
388
ahc->scb_data->scbindex[hscb->tag] = NULL;
sys/dev/ic/aic7xxx_inline.h
392
SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links.sle);
sys/dev/ic/aic7xxx_inline.h
403
scb = ahc->scb_data->scbindex[tag];
sys/dev/ic/aic7xxx_inline.h
444
ahc->scb_data->scbindex[scb->hscb->tag] = scb;
sys/dev/ic/aic7xxx_inline.h
487
offset = scb - ahc->scb_data->scbarray;
sys/dev/ic/aic7xxx_inline.h
488
return (&ahc->scb_data->sense[offset]);
sys/dev/ic/aic7xxx_inline.h
496
offset = scb - ahc->scb_data->scbarray;
sys/dev/ic/aic7xxx_inline.h
497
return (ahc->scb_data->sense_busaddr
sys/dev/ic/aic7xxx_osm.c
392
if (ahc->scb_data->numscbs >= AHC_SCB_MAX_ALLOC)
sys/dev/ic/aic7xxx_osm.c
665
ahc->scb_data->scbindex[scb->hscb->tag] = scb;
sys/dev/ic/aic7xxx_osm.c
87
ahc->sc_adapter.adapt_openings = ahc->scb_data->numscbs - 1;
sys/dev/ic/aic7xxx_osm.c
887
&& (active_scb_index < ahc->scb_data->numscbs)) {
sys/dev/ic/aic7xxxvar.h
1039
struct scb_data *scb_data;