scb_data 5609 dev/ic/aic79xx.c for (i = 0; i < ahd->scb_data.maxhscbs; i++) { scb_data 5623 dev/ic/aic79xx.c struct scb_data *scb_data; scb_data 5626 dev/ic/aic79xx.c scb_data = &ahd->scb_data; scb_data 5627 dev/ic/aic79xx.c TAILQ_INIT(&scb_data->free_scbs); scb_data 5629 dev/ic/aic79xx.c LIST_INIT(&scb_data->free_scb_lists[i]); scb_data 5630 dev/ic/aic79xx.c LIST_INIT(&scb_data->any_dev_free_scb_list); scb_data 5631 dev/ic/aic79xx.c SLIST_INIT(&scb_data->hscb_maps); scb_data 5632 dev/ic/aic79xx.c SLIST_INIT(&scb_data->sg_maps); scb_data 5633 dev/ic/aic79xx.c SLIST_INIT(&scb_data->sense_maps); scb_data 5636 dev/ic/aic79xx.c scb_data->maxhscbs = ahd_probe_scbs(ahd); scb_data 5637 dev/ic/aic79xx.c if (scb_data->maxhscbs == 0) { scb_data 5656 dev/ic/aic79xx.c i = scb_data->numscbs; scb_data 5658 dev/ic/aic79xx.c } while ((i != scb_data->numscbs) && scb_data 5659 dev/ic/aic79xx.c (scb_data->numscbs < AHD_SCB_MAX_ALLOC)); scb_data 5661 dev/ic/aic79xx.c if (scb_data->numscbs != AHD_SCB_MAX_ALLOC) { scb_data 5694 dev/ic/aic79xx.c TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { scb_data 5708 dev/ic/aic79xx.c LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) { scb_data 5719 dev/ic/aic79xx.c struct scb_data *scb_data; scb_data 5721 dev/ic/aic79xx.c scb_data = &ahd->scb_data; scb_data 5722 dev/ic/aic79xx.c if (scb_data == NULL) scb_data 5725 dev/ic/aic79xx.c switch (scb_data->init_level) { scb_data 5731 dev/ic/aic79xx.c while ((sns_map = SLIST_FIRST(&scb_data->sense_maps)) != NULL) { scb_data 5732 dev/ic/aic79xx.c SLIST_REMOVE_HEAD(&scb_data->sense_maps, links); scb_data 5742 dev/ic/aic79xx.c while ((sg_map = SLIST_FIRST(&scb_data->sg_maps)) != NULL) { scb_data 5743 dev/ic/aic79xx.c SLIST_REMOVE_HEAD(&scb_data->sg_maps, links); scb_data 5753 dev/ic/aic79xx.c while ((hscb_map = SLIST_FIRST(&scb_data->hscb_maps)) != NULL) { scb_data 5754 dev/ic/aic79xx.c SLIST_REMOVE_HEAD(&scb_data->hscb_maps, links); scb_data 5827 dev/ic/aic79xx.c free_list = &ahd->scb_data.free_scb_lists[col_idx]; scb_data 5828 dev/ic/aic79xx.c free_tailq = &ahd->scb_data.free_scbs; scb_data 5848 dev/ic/aic79xx.c free_list = &ahd->scb_data.free_scb_lists[col_idx]; scb_data 5849 dev/ic/aic79xx.c free_tailq = &ahd->scb_data.free_scbs; scb_data 5877 dev/ic/aic79xx.c TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { scb_data 5883 dev/ic/aic79xx.c if ((scb = LIST_FIRST(&ahd->scb_data.any_dev_free_scb_list)) == NULL) { scb_data 5909 dev/ic/aic79xx.c ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL; scb_data 5916 dev/ic/aic79xx.c LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, scb_data 5926 dev/ic/aic79xx.c LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, scb_data 5928 dev/ic/aic79xx.c LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, scb_data 5948 dev/ic/aic79xx.c LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, scb_data 5958 dev/ic/aic79xx.c struct scb_data *scb_data; scb_data 5972 dev/ic/aic79xx.c scb_data = &ahd->scb_data; scb_data 5973 dev/ic/aic79xx.c if (scb_data->numscbs >= AHD_SCB_MAX_ALLOC) scb_data 5977 dev/ic/aic79xx.c KASSERT(scb_data->scbs_left >= 0); scb_data 5978 dev/ic/aic79xx.c if (scb_data->scbs_left != 0) { scb_data 5981 dev/ic/aic79xx.c offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left; scb_data 5982 dev/ic/aic79xx.c hscb_map = SLIST_FIRST(&scb_data->hscb_maps); scb_data 5998 dev/ic/aic79xx.c SLIST_INSERT_HEAD(&scb_data->hscb_maps, hscb_map, links); scb_data 6002 dev/ic/aic79xx.c scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb); scb_data 6005 dev/ic/aic79xx.c scb_data->init_level++; scb_data 6007 dev/ic/aic79xx.c if (scb_data->sgs_left != 0) { scb_data 6011 dev/ic/aic79xx.c - scb_data->sgs_left) * ahd_sglist_size(ahd); scb_data 6012 dev/ic/aic79xx.c sg_map = SLIST_FIRST(&scb_data->sg_maps); scb_data 6028 dev/ic/aic79xx.c SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links); scb_data 6032 dev/ic/aic79xx.c scb_data->sgs_left = scb_data 6040 dev/ic/aic79xx.c scb_data->init_level++; scb_data 6042 dev/ic/aic79xx.c if (scb_data->sense_left != 0) { scb_data 6045 dev/ic/aic79xx.c offset = PAGE_SIZE - (AHD_SENSE_BUFSIZE * scb_data->sense_left); scb_data 6046 dev/ic/aic79xx.c sense_map = SLIST_FIRST(&scb_data->sense_maps); scb_data 6062 dev/ic/aic79xx.c SLIST_INSERT_HEAD(&scb_data->sense_maps, sense_map, links); scb_data 6066 dev/ic/aic79xx.c scb_data->sense_left = PAGE_SIZE / AHD_SENSE_BUFSIZE; scb_data 6073 dev/ic/aic79xx.c scb_data->init_level++; scb_data 6075 dev/ic/aic79xx.c newcount = MIN(scb_data->sense_left, scb_data->scbs_left); scb_data 6076 dev/ic/aic79xx.c newcount = MIN(newcount, scb_data->sgs_left); scb_data 6077 dev/ic/aic79xx.c newcount = MIN(newcount, (AHD_SCB_MAX_ALLOC - scb_data->numscbs)); scb_data 6078 dev/ic/aic79xx.c scb_data->sense_left -= newcount; scb_data 6079 dev/ic/aic79xx.c scb_data->scbs_left -= newcount; scb_data 6080 dev/ic/aic79xx.c scb_data->sgs_left -= newcount; scb_data 6135 dev/ic/aic79xx.c next_scb->hscb->tag = aic_htole16(scb_data->numscbs); scb_data 6136 dev/ic/aic79xx.c col_tag = scb_data->numscbs ^ 0x100; scb_data 6147 dev/ic/aic79xx.c scb_data->numscbs++; scb_data 6158 dev/ic/aic79xx.c ahd->scb_data.maxhscbs); scb_data 7387 dev/ic/aic79xx.c if (scbid >= ahd->scb_data.numscbs) { scb_data 7390 dev/ic/aic79xx.c ahd_name(ahd), scbid, ahd->scb_data.numscbs); scb_data 7513 dev/ic/aic79xx.c if (scbid >= ahd->scb_data.numscbs) { scb_data 7516 dev/ic/aic79xx.c ahd_name(ahd), scbid, ahd->scb_data.numscbs); scb_data 8922 dev/ic/aic79xx.c ahd->scb_data.numscbs, ahd_inw(ahd, CMDS_PENDING), scb_data 8948 dev/ic/aic79xx.c TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { scb_data 8958 dev/ic/aic79xx.c LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) { scb_data 10630 dev/ic/aic79xx.c scb = ahd->scb_data.scbindex[tag]; scb_data 10670 dev/ic/aic79xx.c ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb; scb_data 678 dev/ic/aic79xx.h struct scb_data { scb_data 1095 dev/ic/aic79xx.h #define AIC_SCB_DATA(softc) (&(softc)->scb_data) scb_data 1109 dev/ic/aic79xx.h struct scb_data scb_data; scb_data 473 dev/ic/aic79xx_openbsd.c ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb; scb_data 623 dev/ic/aic7xxx.c ahc->scb_data->sense_dmamap, scb_data 624 dev/ic/aic7xxx.c (scb - ahc->scb_data->scbarray) * scb_data 633 dev/ic/aic7xxx.c ahc->scb_data->hscb_dmamap, scb_data 634 dev/ic/aic7xxx.c 0, ahc->scb_data->hscb_dmamap->dm_mapsize, scb_data 982 dev/ic/aic7xxx.c ahc->scb_data->hscbs[scbptr].tag); scb_data 2214 dev/ic/aic7xxx.c for (i = 0; i < ahc->scb_data->maxhscbs; i++) { scb_data 3891 dev/ic/aic7xxx.c if (ahc->scb_data == NULL) { scb_data 3892 dev/ic/aic7xxx.c ahc->scb_data = malloc(sizeof(*ahc->scb_data), scb_data 3894 dev/ic/aic7xxx.c if (ahc->scb_data == NULL) scb_data 3896 dev/ic/aic7xxx.c memset(ahc->scb_data, 0, sizeof(*ahc->scb_data)); scb_data 4204 dev/ic/aic7xxx.c for (i = 0; i < ahc->scb_data->maxhscbs; i++) { scb_data 4248 dev/ic/aic7xxx.c struct scb_data *scb_data; scb_data 4251 dev/ic/aic7xxx.c scb_data = ahc->scb_data; scb_data 4252 dev/ic/aic7xxx.c SLIST_INIT(&scb_data->free_scbs); scb_data 4253 dev/ic/aic7xxx.c SLIST_INIT(&scb_data->sg_maps); scb_data 4256 dev/ic/aic7xxx.c scb_data->scbarray = scb_data 4259 dev/ic/aic7xxx.c if (scb_data->scbarray == NULL) scb_data 4261 dev/ic/aic7xxx.c memset(scb_data->scbarray, 0, sizeof(struct scb) * AHC_SCB_MAX_ALLOC); scb_data 4265 dev/ic/aic7xxx.c scb_data->maxhscbs = ahc_probe_scbs(ahc); scb_data 4266 dev/ic/aic7xxx.c if (ahc->scb_data->maxhscbs == 0) { scb_data 4283 dev/ic/aic7xxx.c &scb_data->hscb_dmamap, scb_data 4284 dev/ic/aic7xxx.c (caddr_t *)&scb_data->hscbs, &scb_data->hscb_busaddr, scb_data 4285 dev/ic/aic7xxx.c &scb_data->hscb_seg, &scb_data->hscb_nseg, ahc_name(ahc), scb_data 4289 dev/ic/aic7xxx.c scb_data->init_level++; scb_data 4293 dev/ic/aic7xxx.c &scb_data->sense_dmamap, (caddr_t *)&scb_data->sense, scb_data 4294 dev/ic/aic7xxx.c &scb_data->sense_busaddr, &scb_data->sense_seg, scb_data 4295 dev/ic/aic7xxx.c &scb_data->sense_nseg, ahc_name(ahc), "sense buffers") < 0) scb_data 4298 dev/ic/aic7xxx.c scb_data->init_level++; scb_data 4301 dev/ic/aic7xxx.c memset(scb_data->hscbs, 0, scb_data 4304 dev/ic/aic7xxx.c i = scb_data->numscbs; scb_data 4306 dev/ic/aic7xxx.c } while ((i != scb_data->numscbs) && scb_data 4307 dev/ic/aic7xxx.c (scb_data->numscbs < AHC_SCB_MAX_ALLOC)); scb_data 4309 dev/ic/aic7xxx.c if (scb_data->numscbs != AHC_SCB_MAX_ALLOC) { scb_data 4334 dev/ic/aic7xxx.c struct scb_data *scb_data; scb_data 4336 dev/ic/aic7xxx.c scb_data = ahc->scb_data; scb_data 4337 dev/ic/aic7xxx.c if (scb_data == NULL) scb_data 4340 dev/ic/aic7xxx.c switch (scb_data->init_level) { scb_data 4346 dev/ic/aic7xxx.c while ((sg_map = SLIST_FIRST(&scb_data->sg_maps))!= NULL) { scb_data 4347 dev/ic/aic7xxx.c SLIST_REMOVE_HEAD(&scb_data->sg_maps, links); scb_data 4358 dev/ic/aic7xxx.c scb_data->sense_dmamap, (caddr_t)scb_data->sense, scb_data 4359 dev/ic/aic7xxx.c &scb_data->sense_seg, scb_data->sense_nseg); scb_data 4364 dev/ic/aic7xxx.c scb_data->hscb_dmamap, (caddr_t)scb_data->hscbs, scb_data 4365 dev/ic/aic7xxx.c &scb_data->hscb_seg, scb_data->hscb_nseg); scb_data 4372 dev/ic/aic7xxx.c if (scb_data->scbarray != NULL) scb_data 4373 dev/ic/aic7xxx.c free(scb_data->scbarray, M_DEVBUF); scb_data 4379 dev/ic/aic7xxx.c struct scb_data *scb_data; scb_data 4387 dev/ic/aic7xxx.c scb_data = ahc->scb_data; scb_data 4388 dev/ic/aic7xxx.c if (scb_data->numscbs >= AHC_SCB_MAX_ALLOC) scb_data 4392 dev/ic/aic7xxx.c next_scb = &scb_data->scbarray[scb_data->numscbs]; scb_data 4409 dev/ic/aic7xxx.c SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links); scb_data 4415 dev/ic/aic7xxx.c newcount = MIN(newcount, (AHC_SCB_MAX_ALLOC - scb_data->numscbs)); scb_data 4446 dev/ic/aic7xxx.c next_scb->hscb = &scb_data->hscbs[scb_data->numscbs]; scb_data 4447 dev/ic/aic7xxx.c next_scb->hscb->tag = ahc->scb_data->numscbs; scb_data 4448 dev/ic/aic7xxx.c SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, scb_data 4453 dev/ic/aic7xxx.c ahc->scb_data->numscbs++; scb_data 4496 dev/ic/aic7xxx.c ahc->scb_data->maxhscbs, AHC_MAX_QUEUE); scb_data 4499 dev/ic/aic7xxx.c ahc->scb_data->maxhscbs); scb_data 4584 dev/ic/aic7xxx.c physaddr = ahc->scb_data->hscb_busaddr; scb_data 4797 dev/ic/aic7xxx.c if (ahc->scb_data->maxhscbs == 0) scb_data 4823 dev/ic/aic7xxx.c if (ahc->scb_data->maxhscbs < AHC_SCB_MAX_ALLOC) { scb_data 5304 dev/ic/aic7xxx.c ahc->scb_data->scbindex[scb->hscb->tag] = NULL; scb_data 5330 dev/ic/aic7xxx.c if (scb_index >= ahc->scb_data->numscbs) { scb_data 5333 dev/ic/aic7xxx.c scb_index, ahc->scb_data->numscbs); scb_data 5513 dev/ic/aic7xxx.c if (scb_index >= ahc->scb_data->numscbs) { scb_data 5516 dev/ic/aic7xxx.c scb_index, ahc->scb_data->numscbs); scb_data 5739 dev/ic/aic7xxx.c for (i = 0; i < ahc->scb_data->maxhscbs; i++) { scb_data 6549 dev/ic/aic7xxx.c printf("\nSCB count = %d\n", ahc->scb_data->numscbs); scb_data 6607 dev/ic/aic7xxx.c for (i = 0; i < ahc->scb_data->maxhscbs; i++) { scb_data 6640 dev/ic/aic7xxx.c SLIST_FOREACH(scb, &ahc->scb_data->free_scbs, links.sle) { scb_data 212 dev/ic/aic7xxx_inline.h return (ahc->scb_data->hscb_busaddr scb_data 220 dev/ic/aic7xxx_inline.h ahc->scb_data->hscb_dmamap, scb_data 221 dev/ic/aic7xxx_inline.h /*offset*/(scb->hscb - ahc->scb_data->hscbs) * sizeof(*scb->hscb), scb_data 350 dev/ic/aic7xxx_inline.h scb = SLIST_FIRST(&ahc->scb_data->free_scbs); scb_data 353 dev/ic/aic7xxx_inline.h SLIST_REMOVE_HEAD(&ahc->scb_data->free_scbs, links.sle); scb_data 368 dev/ic/aic7xxx_inline.h ahc->scb_data->scbindex[hscb->tag] = NULL; scb_data 372 dev/ic/aic7xxx_inline.h SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links.sle); scb_data 384 dev/ic/aic7xxx_inline.h scb = ahc->scb_data->scbindex[tag]; scb_data 426 dev/ic/aic7xxx_inline.h ahc->scb_data->scbindex[scb->hscb->tag] = scb; scb_data 482 dev/ic/aic7xxx_inline.h offset = scb - ahc->scb_data->scbarray; scb_data 483 dev/ic/aic7xxx_inline.h return (&ahc->scb_data->sense[offset]); scb_data 491 dev/ic/aic7xxx_inline.h offset = scb - ahc->scb_data->scbarray; scb_data 492 dev/ic/aic7xxx_inline.h return (ahc->scb_data->sense_busaddr scb_data 160 dev/ic/aic7xxx_openbsd.c bus_dmamap_sync(ahc->parent_dmat, ahc->scb_data->hscb_dmamap, scb_data 161 dev/ic/aic7xxx_openbsd.c 0, ahc->scb_data->hscb_dmamap->dm_mapsize, scb_data 178 dev/ic/aic7xxx_openbsd.c bus_dmamap_sync(ahc->parent_dmat, ahc->scb_data->hscb_dmamap, scb_data 179 dev/ic/aic7xxx_openbsd.c 0, ahc->scb_data->hscb_dmamap->dm_mapsize, scb_data 469 dev/ic/aic7xxx_openbsd.c bus_dmamap_sync(ahc->parent_dmat, ahc->scb_data->hscb_dmamap, scb_data 470 dev/ic/aic7xxx_openbsd.c 0, ahc->scb_data->hscb_dmamap->dm_mapsize, scb_data 510 dev/ic/aic7xxx_openbsd.c ahc->scb_data->scbindex[scb->hscb->tag] = scb; scb_data 610 dev/ic/aic7xxxvar.h struct scb_data { scb_data 955 dev/ic/aic7xxxvar.h struct scb_data *scb_data;