Lines Matching refs:scb_data

3328 	for (scb_tag = 0; scb_tag < ahd->scb_data.maxhscbs; scb_tag++) {  in ahd_update_pending_scbs()
5394 for (i = 0; i < ahd->scb_data.maxhscbs; i++) { in ahd_initialize_hscbs()
5408 struct scb_data *scb_data; in ahd_init_scbdata() local
5411 scb_data = &ahd->scb_data; in ahd_init_scbdata()
5412 TAILQ_INIT(&scb_data->free_scbs); in ahd_init_scbdata()
5414 LIST_INIT(&scb_data->free_scb_lists[i]); in ahd_init_scbdata()
5415 LIST_INIT(&scb_data->any_dev_free_scb_list); in ahd_init_scbdata()
5416 SLIST_INIT(&scb_data->hscb_maps); in ahd_init_scbdata()
5417 SLIST_INIT(&scb_data->sg_maps); in ahd_init_scbdata()
5418 SLIST_INIT(&scb_data->sense_maps); in ahd_init_scbdata()
5421 scb_data->maxhscbs = ahd_probe_scbs(ahd); in ahd_init_scbdata()
5422 if (scb_data->maxhscbs == 0) { in ahd_init_scbdata()
5441 if (scb_data->numscbs == 0) { in ahd_init_scbdata()
5474 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { in ahd_find_scb_by_tag()
5488 LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) { in ahd_find_scb_by_tag()
5499 struct scb_data *scb_data; in ahd_fini_scbdata() local
5501 scb_data = &ahd->scb_data; in ahd_fini_scbdata()
5502 if (scb_data == NULL) in ahd_fini_scbdata()
5505 switch (scb_data->init_level) { in ahd_fini_scbdata()
5511 while ((sns_map = SLIST_FIRST(&scb_data->sense_maps)) != NULL) { in ahd_fini_scbdata()
5512 SLIST_REMOVE_HEAD(&scb_data->sense_maps, links); in ahd_fini_scbdata()
5524 while ((sg_map = SLIST_FIRST(&scb_data->sg_maps)) != NULL) { in ahd_fini_scbdata()
5525 SLIST_REMOVE_HEAD(&scb_data->sg_maps, links); in ahd_fini_scbdata()
5538 while ((hscb_map = SLIST_FIRST(&scb_data->hscb_maps)) != NULL) { in ahd_fini_scbdata()
5539 SLIST_REMOVE_HEAD(&scb_data->hscb_maps, links); in ahd_fini_scbdata()
5615 free_list = &ahd->scb_data.free_scb_lists[col_idx]; in ahd_add_col_list()
5616 free_tailq = &ahd->scb_data.free_scbs; in ahd_add_col_list()
5636 free_list = &ahd->scb_data.free_scb_lists[col_idx]; in ahd_rem_col_list()
5637 free_tailq = &ahd->scb_data.free_scbs; in ahd_rem_col_list()
5664 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { in ahd_get_scb()
5670 if ((scb = LIST_FIRST(&ahd->scb_data.any_dev_free_scb_list)) == NULL) in ahd_get_scb()
5694 ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL; in ahd_free_scb()
5701 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
5711 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
5713 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
5733 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
5743 struct scb_data *scb_data; in ahd_alloc_scbs() local
5757 scb_data = &ahd->scb_data; in ahd_alloc_scbs()
5758 if (scb_data->numscbs >= AHD_SCB_MAX_ALLOC) in ahd_alloc_scbs()
5762 KASSERT(scb_data->scbs_left >= 0); in ahd_alloc_scbs()
5763 if (scb_data->scbs_left != 0) { in ahd_alloc_scbs()
5766 offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left; in ahd_alloc_scbs()
5767 hscb_map = SLIST_FIRST(&scb_data->hscb_maps); in ahd_alloc_scbs()
5790 SLIST_INSERT_HEAD(&scb_data->hscb_maps, hscb_map, links); in ahd_alloc_scbs()
5794 scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb); in ahd_alloc_scbs()
5797 scb_data->init_level++; in ahd_alloc_scbs()
5799 if (scb_data->sgs_left != 0) { in ahd_alloc_scbs()
5803 - scb_data->sgs_left) * ahd_sglist_size(ahd); in ahd_alloc_scbs()
5804 sg_map = SLIST_FIRST(&scb_data->sg_maps); in ahd_alloc_scbs()
5827 SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links); in ahd_alloc_scbs()
5831 scb_data->sgs_left = in ahd_alloc_scbs()
5840 scb_data->init_level++; in ahd_alloc_scbs()
5843 if (scb_data->sense_left != 0) { in ahd_alloc_scbs()
5846 offset = PAGE_SIZE - (AHD_SENSE_BUFSIZE * scb_data->sense_left); in ahd_alloc_scbs()
5847 sense_map = SLIST_FIRST(&scb_data->sense_maps); in ahd_alloc_scbs()
5870 SLIST_INSERT_HEAD(&scb_data->sense_maps, sense_map, links); in ahd_alloc_scbs()
5874 scb_data->sense_left = PAGE_SIZE / AHD_SENSE_BUFSIZE; in ahd_alloc_scbs()
5882 scb_data->init_level++; in ahd_alloc_scbs()
5884 newcount = MIN(scb_data->sense_left, scb_data->scbs_left); in ahd_alloc_scbs()
5885 newcount = MIN(newcount, scb_data->sgs_left); in ahd_alloc_scbs()
5886 newcount = MIN(newcount, (AHD_SCB_MAX_ALLOC - scb_data->numscbs)); in ahd_alloc_scbs()
5887 scb_data->sense_left -= newcount; in ahd_alloc_scbs()
5888 scb_data->scbs_left -= newcount; in ahd_alloc_scbs()
5889 scb_data->sgs_left -= newcount; in ahd_alloc_scbs()
5944 next_scb->hscb->tag = ahd_htole16(scb_data->numscbs); in ahd_alloc_scbs()
5945 col_tag = scb_data->numscbs ^ 0x100; in ahd_alloc_scbs()
5956 scb_data->numscbs++; in ahd_alloc_scbs()
5983 ahd->scb_data.maxhscbs); in ahd_controller_info()
6101 memset(&ahd->scb_data, 0, sizeof(struct scb_data)); in ahd_init()
7245 if (scbid >= ahd->scb_data.numscbs) { in ahd_search_qinfifo()
7248 ahd_name(ahd), scbid, ahd->scb_data.numscbs); in ahd_search_qinfifo()
7305 if (scbid >= ahd->scb_data.numscbs) { in ahd_search_scb_list()
7308 ahd_name(ahd), scbid, ahd->scb_data.numscbs); in ahd_search_scb_list()
8718 ahd->scb_data.numscbs, ahd_inw(ahd, CMDS_PENDING), in ahd_dump_card_state()
8744 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { in ahd_dump_card_state()
8754 LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) { in ahd_dump_card_state()