Lines Matching refs:scb_data
923 ahc->scb_data->hscbs[scbptr].tag); in ahc_handle_seqint()
2138 for (i = 0; i < ahc->scb_data->maxhscbs; i++) { in ahc_update_pending_scbs()
3815 if (ahc->scb_data == NULL) { in ahc_softc_init()
3816 ahc->scb_data = malloc(sizeof(*ahc->scb_data), in ahc_softc_init()
4135 for (i = 0; i < ahc->scb_data->maxhscbs; i++) { in ahc_build_free_scb_list()
4171 struct scb_data *scb_data; in ahc_init_scbdata() local
4173 scb_data = ahc->scb_data; in ahc_init_scbdata()
4174 SLIST_INIT(&scb_data->free_scbs); in ahc_init_scbdata()
4175 SLIST_INIT(&scb_data->sg_maps); in ahc_init_scbdata()
4178 scb_data->scbarray = malloc(sizeof(struct scb) * AHC_SCB_MAX_ALLOC, in ahc_init_scbdata()
4183 scb_data->maxhscbs = ahc_probe_scbs(ahc); in ahc_init_scbdata()
4191 if (ahc->scb_data->maxhscbs == 0) { in ahc_init_scbdata()
4210 &scb_data->hscb_dmamap, in ahc_init_scbdata()
4211 (void **)&scb_data->hscbs, &scb_data->hscb_busaddr, in ahc_init_scbdata()
4212 &scb_data->hscb_seg, &scb_data->hscb_nseg, ahc_name(ahc), in ahc_init_scbdata()
4216 scb_data->init_level++; in ahc_init_scbdata()
4220 &scb_data->sense_dmamap, (void **)&scb_data->sense, in ahc_init_scbdata()
4221 &scb_data->sense_busaddr, &scb_data->sense_seg, in ahc_init_scbdata()
4222 &scb_data->sense_nseg, ahc_name(ahc), "sense buffers") < 0) in ahc_init_scbdata()
4225 scb_data->init_level++; in ahc_init_scbdata()
4228 memset(scb_data->hscbs, 0, in ahc_init_scbdata()
4231 scb_data->init_level++; in ahc_init_scbdata()
4233 if (scb_data->numscbs == 0) { in ahc_init_scbdata()
4259 struct scb_data *scb_data; in ahc_fini_scbdata() local
4261 scb_data = ahc->scb_data; in ahc_fini_scbdata()
4262 if (scb_data == NULL) in ahc_fini_scbdata()
4265 switch (scb_data->init_level) { in ahc_fini_scbdata()
4271 while ((sg_map = SLIST_FIRST(&scb_data->sg_maps))!= NULL) { in ahc_fini_scbdata()
4272 SLIST_REMOVE_HEAD(&scb_data->sg_maps, links); in ahc_fini_scbdata()
4283 scb_data->sense_dmamap, (void *)scb_data->sense, in ahc_fini_scbdata()
4284 &scb_data->sense_seg, scb_data->sense_nseg); in ahc_fini_scbdata()
4289 scb_data->hscb_dmamap, (void *)scb_data->hscbs, in ahc_fini_scbdata()
4290 &scb_data->hscb_seg, scb_data->hscb_nseg); in ahc_fini_scbdata()
4297 if (scb_data->scbarray != NULL) in ahc_fini_scbdata()
4298 free(scb_data->scbarray, M_DEVBUF); in ahc_fini_scbdata()
4304 struct scb_data *scb_data; in ahc_alloc_scbs() local
4312 scb_data = ahc->scb_data; in ahc_alloc_scbs()
4313 if (scb_data->numscbs >= AHC_SCB_MAX_ALLOC) in ahc_alloc_scbs()
4317 next_scb = &scb_data->scbarray[scb_data->numscbs]; in ahc_alloc_scbs()
4335 SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links); in ahc_alloc_scbs()
4341 newcount = MIN(newcount, (AHC_SCB_MAX_ALLOC - scb_data->numscbs)); in ahc_alloc_scbs()
4369 next_scb->hscb = &scb_data->hscbs[scb_data->numscbs]; in ahc_alloc_scbs()
4370 next_scb->hscb->tag = ahc->scb_data->numscbs; in ahc_alloc_scbs()
4371 SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, in ahc_alloc_scbs()
4376 ahc->scb_data->numscbs++; in ahc_alloc_scbs()
4420 ahc->scb_data->maxhscbs, AHC_MAX_QUEUE); in ahc_controller_info()
4422 snprintf(tbuf + len, l - len, "%d SCBs", ahc->scb_data->maxhscbs); in ahc_controller_info()
4534 if (ahc->scb_data->maxhscbs == 0) in ahc_init()
4540 ahc->scb_data->maxhscbs); in ahc_init()
4564 if (ahc->scb_data->maxhscbs < AHC_SCB_MAX_ALLOC) { in ahc_init()
4797 physaddr = ahc->scb_data->hscb_busaddr; in ahc_init()
5409 ahc->scb_data->scbindex[scb->hscb->tag] = NULL; in ahc_search_qinfifo()
5435 if (scb_index >= ahc->scb_data->numscbs) { in ahc_search_qinfifo()
5438 scb_index, ahc->scb_data->numscbs); in ahc_search_qinfifo()
5621 if (scb_index >= ahc->scb_data->numscbs) { in ahc_search_disc_list()
5624 scb_index, ahc->scb_data->numscbs); in ahc_search_disc_list()
5847 for (i = 0; i < ahc->scb_data->maxhscbs; i++) { in ahc_abort_scbs()
6661 printf("\nSCB count = %d\n", ahc->scb_data->numscbs); in ahc_dump_card_state()
6719 for (i = 0; i < ahc->scb_data->maxhscbs; i++) { in ahc_dump_card_state()
6752 SLIST_FOREACH(scb, &ahc->scb_data->free_scbs, links.sle) { in ahc_dump_card_state()