Symbol: scb_data
sys/dev/ic/aic79xx.c
10440
scb = ahd->scb_data.scbindex[tag];
sys/dev/ic/aic79xx.c
10480
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb;
sys/dev/ic/aic79xx.c
5585
for (i = 0; i < ahd->scb_data.maxhscbs; i++) {
sys/dev/ic/aic79xx.c
5599
struct scb_data *scb_data;
sys/dev/ic/aic79xx.c
5602
scb_data = &ahd->scb_data;
sys/dev/ic/aic79xx.c
5603
TAILQ_INIT(&scb_data->free_scbs);
sys/dev/ic/aic79xx.c
5604
SLIST_INIT(&scb_data->hscb_maps);
sys/dev/ic/aic79xx.c
5605
SLIST_INIT(&scb_data->sg_maps);
sys/dev/ic/aic79xx.c
5606
SLIST_INIT(&scb_data->sense_maps);
sys/dev/ic/aic79xx.c
5611
scb_data->maxhscbs = ahd_probe_scbs(ahd);
sys/dev/ic/aic79xx.c
5612
if (scb_data->maxhscbs == 0) {
sys/dev/ic/aic79xx.c
5631
i = scb_data->numscbs;
sys/dev/ic/aic79xx.c
5633
} while ((i != scb_data->numscbs) &&
sys/dev/ic/aic79xx.c
5634
(scb_data->numscbs < AHD_SCB_MAX_ALLOC));
sys/dev/ic/aic79xx.c
5636
if (scb_data->numscbs != AHD_SCB_MAX_ALLOC) {
sys/dev/ic/aic79xx.c
5669
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, next) {
sys/dev/ic/aic79xx.c
5680
struct scb_data *scb_data;
sys/dev/ic/aic79xx.c
5682
scb_data = &ahd->scb_data;
sys/dev/ic/aic79xx.c
5683
if (scb_data == NULL)
sys/dev/ic/aic79xx.c
5686
switch (scb_data->init_level) {
sys/dev/ic/aic79xx.c
5692
while ((sns_map = SLIST_FIRST(&scb_data->sense_maps)) != NULL) {
sys/dev/ic/aic79xx.c
5693
SLIST_REMOVE_HEAD(&scb_data->sense_maps, links);
sys/dev/ic/aic79xx.c
5703
while ((sg_map = SLIST_FIRST(&scb_data->sg_maps)) != NULL) {
sys/dev/ic/aic79xx.c
5704
SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
sys/dev/ic/aic79xx.c
5714
while ((hscb_map = SLIST_FIRST(&scb_data->hscb_maps)) != NULL) {
sys/dev/ic/aic79xx.c
5715
SLIST_REMOVE_HEAD(&scb_data->hscb_maps, links);
sys/dev/ic/aic79xx.c
5788
scb = TAILQ_FIRST(&ahd->scb_data.free_scbs);
sys/dev/ic/aic79xx.c
5790
TAILQ_REMOVE(&ahd->scb_data.free_scbs, scb, next);
sys/dev/ic/aic79xx.c
5810
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL;
sys/dev/ic/aic79xx.c
5813
TAILQ_INSERT_HEAD(&ahd->scb_data.free_scbs, scb, next);
sys/dev/ic/aic79xx.c
5821
struct scb_data *scb_data;
sys/dev/ic/aic79xx.c
5835
scb_data = &ahd->scb_data;
sys/dev/ic/aic79xx.c
5836
if (scb_data->numscbs >= AHD_SCB_MAX_ALLOC)
sys/dev/ic/aic79xx.c
5840
KASSERT(scb_data->scbs_left >= 0);
sys/dev/ic/aic79xx.c
5841
if (scb_data->scbs_left != 0) {
sys/dev/ic/aic79xx.c
5844
offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left;
sys/dev/ic/aic79xx.c
5845
hscb_map = SLIST_FIRST(&scb_data->hscb_maps);
sys/dev/ic/aic79xx.c
5861
SLIST_INSERT_HEAD(&scb_data->hscb_maps, hscb_map, links);
sys/dev/ic/aic79xx.c
5865
scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb);
sys/dev/ic/aic79xx.c
5868
scb_data->init_level++;
sys/dev/ic/aic79xx.c
5870
if (scb_data->sgs_left != 0) {
sys/dev/ic/aic79xx.c
5874
- scb_data->sgs_left) * ahd_sglist_size(ahd);
sys/dev/ic/aic79xx.c
5875
sg_map = SLIST_FIRST(&scb_data->sg_maps);
sys/dev/ic/aic79xx.c
5891
SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
sys/dev/ic/aic79xx.c
5895
scb_data->sgs_left =
sys/dev/ic/aic79xx.c
5903
scb_data->init_level++;
sys/dev/ic/aic79xx.c
5905
if (scb_data->sense_left != 0) {
sys/dev/ic/aic79xx.c
5908
offset = PAGE_SIZE - (AHD_SENSE_BUFSIZE * scb_data->sense_left);
sys/dev/ic/aic79xx.c
5909
sense_map = SLIST_FIRST(&scb_data->sense_maps);
sys/dev/ic/aic79xx.c
5925
SLIST_INSERT_HEAD(&scb_data->sense_maps, sense_map, links);
sys/dev/ic/aic79xx.c
5929
scb_data->sense_left = PAGE_SIZE / AHD_SENSE_BUFSIZE;
sys/dev/ic/aic79xx.c
5936
scb_data->init_level++;
sys/dev/ic/aic79xx.c
5938
newcount = MIN(scb_data->sense_left, scb_data->scbs_left);
sys/dev/ic/aic79xx.c
5939
newcount = MIN(newcount, scb_data->sgs_left);
sys/dev/ic/aic79xx.c
5940
newcount = MIN(newcount, (AHD_SCB_MAX_ALLOC - scb_data->numscbs));
sys/dev/ic/aic79xx.c
5941
scb_data->sense_left -= newcount;
sys/dev/ic/aic79xx.c
5942
scb_data->scbs_left -= newcount;
sys/dev/ic/aic79xx.c
5943
scb_data->sgs_left -= newcount;
sys/dev/ic/aic79xx.c
5985
next_scb->hscb->tag = aic_htole16(scb_data->numscbs);
sys/dev/ic/aic79xx.c
5993
scb_data->numscbs++;
sys/dev/ic/aic79xx.c
6003
ahd->channel, ahd->bus_description, ahd->scb_data.maxhscbs);
sys/dev/ic/aic79xx.c
7217
if (scbid >= ahd->scb_data.numscbs) {
sys/dev/ic/aic79xx.c
7220
ahd_name(ahd), scbid, ahd->scb_data.numscbs);
sys/dev/ic/aic79xx.c
7343
if (scbid >= ahd->scb_data.numscbs) {
sys/dev/ic/aic79xx.c
7346
ahd_name(ahd), scbid, ahd->scb_data.numscbs);
sys/dev/ic/aic79xx.c
8746
ahd->scb_data.numscbs, ahd_inw(ahd, CMDS_PENDING),
sys/dev/ic/aic79xx.c
8772
TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, next) {
sys/dev/ic/aic79xx.h
1043
#define AIC_SCB_DATA(softc) (&(softc)->scb_data)
sys/dev/ic/aic79xx.h
1053
struct scb_data scb_data;
sys/dev/ic/aic79xx_openbsd.c
287
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL;
sys/dev/ic/aic79xx_openbsd.c
406
ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb;
sys/dev/ic/aic7xxx.c
2180
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
3857
if (ahc->scb_data == NULL) {
sys/dev/ic/aic7xxx.c
3858
ahc->scb_data = malloc(sizeof(*ahc->scb_data), M_DEVBUF,
sys/dev/ic/aic7xxx.c
3860
if (ahc->scb_data == NULL)
sys/dev/ic/aic7xxx.c
4155
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
4199
struct scb_data *scb_data;
sys/dev/ic/aic7xxx.c
4202
scb_data = ahc->scb_data;
sys/dev/ic/aic7xxx.c
4203
SLIST_INIT(&scb_data->free_scbs);
sys/dev/ic/aic7xxx.c
4204
SLIST_INIT(&scb_data->sg_maps);
sys/dev/ic/aic7xxx.c
4210
scb_data->scbarray = mallocarray(AHC_SCB_MAX_ALLOC, sizeof(struct scb),
sys/dev/ic/aic7xxx.c
4212
if (scb_data->scbarray == NULL)
sys/dev/ic/aic7xxx.c
4217
scb_data->maxhscbs = ahc_probe_scbs(ahc);
sys/dev/ic/aic7xxx.c
4218
if (ahc->scb_data->maxhscbs == 0) {
sys/dev/ic/aic7xxx.c
4235
&scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx.c
4236
(caddr_t *)&scb_data->hscbs, &scb_data->hscb_busaddr,
sys/dev/ic/aic7xxx.c
4237
&scb_data->hscb_seg, &scb_data->hscb_nseg, ahc_name(ahc),
sys/dev/ic/aic7xxx.c
4241
scb_data->init_level++;
sys/dev/ic/aic7xxx.c
4245
&scb_data->sense_dmamap, (caddr_t *)&scb_data->sense,
sys/dev/ic/aic7xxx.c
4246
&scb_data->sense_busaddr, &scb_data->sense_seg,
sys/dev/ic/aic7xxx.c
4247
&scb_data->sense_nseg, ahc_name(ahc), "sense buffers") < 0)
sys/dev/ic/aic7xxx.c
4250
scb_data->init_level++;
sys/dev/ic/aic7xxx.c
4253
memset(scb_data->hscbs, 0,
sys/dev/ic/aic7xxx.c
4256
i = scb_data->numscbs;
sys/dev/ic/aic7xxx.c
4258
} while ((i != scb_data->numscbs) &&
sys/dev/ic/aic7xxx.c
4259
(scb_data->numscbs < AHC_SCB_MAX_ALLOC));
sys/dev/ic/aic7xxx.c
4261
if (scb_data->numscbs != AHC_SCB_MAX_ALLOC) {
sys/dev/ic/aic7xxx.c
4285
struct scb_data *scb_data;
sys/dev/ic/aic7xxx.c
4287
scb_data = ahc->scb_data;
sys/dev/ic/aic7xxx.c
4288
if (scb_data == NULL)
sys/dev/ic/aic7xxx.c
4291
switch (scb_data->init_level) {
sys/dev/ic/aic7xxx.c
4297
while ((sg_map = SLIST_FIRST(&scb_data->sg_maps))!= NULL) {
sys/dev/ic/aic7xxx.c
4298
SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
sys/dev/ic/aic7xxx.c
4309
scb_data->sense_dmamap, (caddr_t)scb_data->sense,
sys/dev/ic/aic7xxx.c
4310
&scb_data->sense_seg, scb_data->sense_nseg);
sys/dev/ic/aic7xxx.c
4315
scb_data->hscb_dmamap, (caddr_t)scb_data->hscbs,
sys/dev/ic/aic7xxx.c
4316
&scb_data->hscb_seg, scb_data->hscb_nseg);
sys/dev/ic/aic7xxx.c
4323
if (scb_data->scbarray != NULL) {
sys/dev/ic/aic7xxx.c
4324
free(scb_data->scbarray, M_DEVBUF,
sys/dev/ic/aic7xxx.c
4332
struct scb_data *scb_data;
sys/dev/ic/aic7xxx.c
4340
scb_data = ahc->scb_data;
sys/dev/ic/aic7xxx.c
4341
if (scb_data->numscbs >= AHC_SCB_MAX_ALLOC)
sys/dev/ic/aic7xxx.c
4345
next_scb = &scb_data->scbarray[scb_data->numscbs];
sys/dev/ic/aic7xxx.c
4362
SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
sys/dev/ic/aic7xxx.c
4368
newcount = MIN(newcount, (AHC_SCB_MAX_ALLOC - scb_data->numscbs));
sys/dev/ic/aic7xxx.c
4389
next_scb->hscb = &scb_data->hscbs[scb_data->numscbs];
sys/dev/ic/aic7xxx.c
4390
next_scb->hscb->tag = ahc->scb_data->numscbs;
sys/dev/ic/aic7xxx.c
4392
SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs,
sys/dev/ic/aic7xxx.c
4398
ahc->scb_data->numscbs++;
sys/dev/ic/aic7xxx.c
4440
ahc->scb_data->maxhscbs, AHC_MAX_QUEUE);
sys/dev/ic/aic7xxx.c
4443
ahc->scb_data->maxhscbs);
sys/dev/ic/aic7xxx.c
4524
physaddr = ahc->scb_data->hscb_busaddr;
sys/dev/ic/aic7xxx.c
4733
if (ahc->scb_data->maxhscbs == 0)
sys/dev/ic/aic7xxx.c
4759
if (ahc->scb_data->maxhscbs < AHC_SCB_MAX_ALLOC) {
sys/dev/ic/aic7xxx.c
5238
ahc->scb_data->scbindex[scb->hscb->tag] = NULL;
sys/dev/ic/aic7xxx.c
5264
if (scb_index >= ahc->scb_data->numscbs) {
sys/dev/ic/aic7xxx.c
5267
scb_index, ahc->scb_data->numscbs);
sys/dev/ic/aic7xxx.c
5447
if (scb_index >= ahc->scb_data->numscbs) {
sys/dev/ic/aic7xxx.c
5450
scb_index, ahc->scb_data->numscbs);
sys/dev/ic/aic7xxx.c
5673
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
594
ahc->scb_data->sense_dmamap,
sys/dev/ic/aic7xxx.c
595
(scb - ahc->scb_data->scbarray) *
sys/dev/ic/aic7xxx.c
604
ahc->scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx.c
605
0, ahc->scb_data->hscb_dmamap->dm_mapsize,
sys/dev/ic/aic7xxx.c
6481
printf("\nSCB count = %d\n", ahc->scb_data->numscbs);
sys/dev/ic/aic7xxx.c
6539
for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
sys/dev/ic/aic7xxx.c
6573
SLIST_FOREACH(scb, &ahc->scb_data->free_scbs, links.sle) {
sys/dev/ic/aic7xxx.c
950
ahc->scb_data->hscbs[scbptr].tag);
sys/dev/ic/aic7xxx_inline.h
212
return (ahc->scb_data->hscb_busaddr
sys/dev/ic/aic7xxx_inline.h
220
ahc->scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx_inline.h
221
/*offset*/(scb->hscb - ahc->scb_data->hscbs) * sizeof(*scb->hscb),
sys/dev/ic/aic7xxx_inline.h
344
scb = ahc->scb_data->scbindex[tag];
sys/dev/ic/aic7xxx_inline.h
386
ahc->scb_data->scbindex[scb->hscb->tag] = scb;
sys/dev/ic/aic7xxx_inline.h
442
offset = scb - ahc->scb_data->scbarray;
sys/dev/ic/aic7xxx_inline.h
443
return (&ahc->scb_data->sense[offset]);
sys/dev/ic/aic7xxx_inline.h
451
offset = scb - ahc->scb_data->scbarray;
sys/dev/ic/aic7xxx_inline.h
452
return (ahc->scb_data->sense_busaddr
sys/dev/ic/aic7xxx_openbsd.c
133
bus_dmamap_sync(ahc->parent_dmat, ahc->scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx_openbsd.c
134
0, ahc->scb_data->hscb_dmamap->dm_mapsize,
sys/dev/ic/aic7xxx_openbsd.c
150
bus_dmamap_sync(ahc->parent_dmat, ahc->scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx_openbsd.c
151
0, ahc->scb_data->hscb_dmamap->dm_mapsize,
sys/dev/ic/aic7xxx_openbsd.c
272
ahc->scb_data->scbindex[hscb->tag] = NULL;
sys/dev/ic/aic7xxx_openbsd.c
394
bus_dmamap_sync(ahc->parent_dmat, ahc->scb_data->hscb_dmamap,
sys/dev/ic/aic7xxx_openbsd.c
395
0, ahc->scb_data->hscb_dmamap->dm_mapsize,
sys/dev/ic/aic7xxx_openbsd.c
435
ahc->scb_data->scbindex[scb->hscb->tag] = scb;
sys/dev/ic/aic7xxx_openbsd.c
712
scb = SLIST_FIRST(&ahc->scb_data->free_scbs);
sys/dev/ic/aic7xxx_openbsd.c
715
SLIST_REMOVE_HEAD(&ahc->scb_data->free_scbs, links.sle);
sys/dev/ic/aic7xxx_openbsd.c
734
ahc->scb_data->scbindex[hscb->tag] = NULL;
sys/dev/ic/aic7xxx_openbsd.c
739
SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links.sle);
sys/dev/ic/aic7xxxvar.h
946
struct scb_data *scb_data;