• Home
  • Raw
  • Download

Lines Matching refs:scb_data

521 	ahd_dmamap_sync(ahd, ahd->scb_data.hscb_dmat,  in ahd_sync_scb()
533 ahd_dmamap_sync(ahd, ahd->scb_data.sg_dmat, in ahd_sync_sglist()
542 ahd_dmamap_sync(ahd, ahd->scb_data.sense_dmat, in ahd_sync_sense()
794 scb = ahd->scb_data.scbindex[tag]; in ahd_lookup_scb()
834 ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = scb; in ahd_swap_with_next_hscb()
6340 for (i = 0; i < ahd->scb_data.maxhscbs; i++) { in ahd_initialize_hscbs()
6354 struct scb_data *scb_data; in ahd_init_scbdata() local
6357 scb_data = &ahd->scb_data; in ahd_init_scbdata()
6358 TAILQ_INIT(&scb_data->free_scbs); in ahd_init_scbdata()
6360 LIST_INIT(&scb_data->free_scb_lists[i]); in ahd_init_scbdata()
6361 LIST_INIT(&scb_data->any_dev_free_scb_list); in ahd_init_scbdata()
6362 SLIST_INIT(&scb_data->hscb_maps); in ahd_init_scbdata()
6363 SLIST_INIT(&scb_data->sg_maps); in ahd_init_scbdata()
6364 SLIST_INIT(&scb_data->sense_maps); in ahd_init_scbdata()
6367 scb_data->maxhscbs = ahd_probe_scbs(ahd); in ahd_init_scbdata()
6368 if (scb_data->maxhscbs == 0) { in ahd_init_scbdata()
6393 /*flags*/0, &scb_data->hscb_dmat) != 0) { in ahd_init_scbdata()
6397 scb_data->init_level++; in ahd_init_scbdata()
6407 /*flags*/0, &scb_data->sg_dmat) != 0) { in ahd_init_scbdata()
6416 scb_data->init_level++; in ahd_init_scbdata()
6426 /*flags*/0, &scb_data->sense_dmat) != 0) { in ahd_init_scbdata()
6430 scb_data->init_level++; in ahd_init_scbdata()
6435 if (scb_data->numscbs == 0) { in ahd_init_scbdata()
6468 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { in ahd_find_scb_by_tag()
6482 LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) { in ahd_find_scb_by_tag()
6493 struct scb_data *scb_data; in ahd_fini_scbdata() local
6495 scb_data = &ahd->scb_data; in ahd_fini_scbdata()
6496 if (scb_data == NULL) in ahd_fini_scbdata()
6499 switch (scb_data->init_level) { in ahd_fini_scbdata()
6505 while ((sns_map = SLIST_FIRST(&scb_data->sense_maps)) != NULL) { in ahd_fini_scbdata()
6506 SLIST_REMOVE_HEAD(&scb_data->sense_maps, links); in ahd_fini_scbdata()
6507 ahd_dmamap_unload(ahd, scb_data->sense_dmat, in ahd_fini_scbdata()
6509 ahd_dmamem_free(ahd, scb_data->sense_dmat, in ahd_fini_scbdata()
6513 ahd_dma_tag_destroy(ahd, scb_data->sense_dmat); in ahd_fini_scbdata()
6520 while ((sg_map = SLIST_FIRST(&scb_data->sg_maps)) != NULL) { in ahd_fini_scbdata()
6521 SLIST_REMOVE_HEAD(&scb_data->sg_maps, links); in ahd_fini_scbdata()
6522 ahd_dmamap_unload(ahd, scb_data->sg_dmat, in ahd_fini_scbdata()
6524 ahd_dmamem_free(ahd, scb_data->sg_dmat, in ahd_fini_scbdata()
6528 ahd_dma_tag_destroy(ahd, scb_data->sg_dmat); in ahd_fini_scbdata()
6535 while ((hscb_map = SLIST_FIRST(&scb_data->hscb_maps)) != NULL) { in ahd_fini_scbdata()
6536 SLIST_REMOVE_HEAD(&scb_data->hscb_maps, links); in ahd_fini_scbdata()
6537 ahd_dmamap_unload(ahd, scb_data->hscb_dmat, in ahd_fini_scbdata()
6539 ahd_dmamem_free(ahd, scb_data->hscb_dmat, in ahd_fini_scbdata()
6543 ahd_dma_tag_destroy(ahd, scb_data->hscb_dmat); in ahd_fini_scbdata()
6617 free_list = &ahd->scb_data.free_scb_lists[col_idx]; in ahd_add_col_list()
6618 free_tailq = &ahd->scb_data.free_scbs; in ahd_add_col_list()
6638 free_list = &ahd->scb_data.free_scb_lists[col_idx]; in ahd_rem_col_list()
6639 free_tailq = &ahd->scb_data.free_scbs; in ahd_rem_col_list()
6670 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { in ahd_get_scb()
6676 if ((scb = LIST_FIRST(&ahd->scb_data.any_dev_free_scb_list)) == NULL) { in ahd_get_scb()
6704 ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL; in ahd_free_scb()
6711 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
6721 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
6723 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
6743 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list, in ahd_free_scb()
6753 struct scb_data *scb_data; in ahd_alloc_scbs() local
6767 scb_data = &ahd->scb_data; in ahd_alloc_scbs()
6768 if (scb_data->numscbs >= AHD_SCB_MAX_ALLOC) in ahd_alloc_scbs()
6772 if (scb_data->scbs_left != 0) { in ahd_alloc_scbs()
6775 offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left; in ahd_alloc_scbs()
6776 hscb_map = SLIST_FIRST(&scb_data->hscb_maps); in ahd_alloc_scbs()
6786 if (ahd_dmamem_alloc(ahd, scb_data->hscb_dmat, in ahd_alloc_scbs()
6793 SLIST_INSERT_HEAD(&scb_data->hscb_maps, hscb_map, links); in ahd_alloc_scbs()
6795 ahd_dmamap_load(ahd, scb_data->hscb_dmat, hscb_map->dmamap, in ahd_alloc_scbs()
6801 scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb); in ahd_alloc_scbs()
6804 if (scb_data->sgs_left != 0) { in ahd_alloc_scbs()
6808 - scb_data->sgs_left) * ahd_sglist_size(ahd); in ahd_alloc_scbs()
6809 sg_map = SLIST_FIRST(&scb_data->sg_maps); in ahd_alloc_scbs()
6819 if (ahd_dmamem_alloc(ahd, scb_data->sg_dmat, in ahd_alloc_scbs()
6826 SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links); in ahd_alloc_scbs()
6828 ahd_dmamap_load(ahd, scb_data->sg_dmat, sg_map->dmamap, in ahd_alloc_scbs()
6834 scb_data->sgs_left = in ahd_alloc_scbs()
6842 if (scb_data->sense_left != 0) { in ahd_alloc_scbs()
6845 offset = PAGE_SIZE - (AHD_SENSE_BUFSIZE * scb_data->sense_left); in ahd_alloc_scbs()
6846 sense_map = SLIST_FIRST(&scb_data->sense_maps); in ahd_alloc_scbs()
6856 if (ahd_dmamem_alloc(ahd, scb_data->sense_dmat, in ahd_alloc_scbs()
6863 SLIST_INSERT_HEAD(&scb_data->sense_maps, sense_map, links); in ahd_alloc_scbs()
6865 ahd_dmamap_load(ahd, scb_data->sense_dmat, sense_map->dmamap, in ahd_alloc_scbs()
6871 scb_data->sense_left = PAGE_SIZE / AHD_SENSE_BUFSIZE; in ahd_alloc_scbs()
6878 newcount = min(scb_data->sense_left, scb_data->scbs_left); in ahd_alloc_scbs()
6879 newcount = min(newcount, scb_data->sgs_left); in ahd_alloc_scbs()
6880 newcount = min(newcount, (AHD_SCB_MAX_ALLOC - scb_data->numscbs)); in ahd_alloc_scbs()
6917 next_scb->hscb->tag = ahd_htole16(scb_data->numscbs); in ahd_alloc_scbs()
6918 col_tag = scb_data->numscbs ^ 0x100; in ahd_alloc_scbs()
6929 scb_data->numscbs++; in ahd_alloc_scbs()
6930 scb_data->sense_left--; in ahd_alloc_scbs()
6931 scb_data->scbs_left--; in ahd_alloc_scbs()
6932 scb_data->sgs_left--; in ahd_alloc_scbs()
6957 ahd->scb_data.maxhscbs); in ahd_controller_info()
8221 if (scbid >= ahd->scb_data.numscbs) { in ahd_search_qinfifo()
8224 ahd_name(ahd), scbid, ahd->scb_data.numscbs); in ahd_search_qinfifo()
8347 if (scbid >= ahd->scb_data.numscbs) { in ahd_search_scb_list()
8350 ahd_name(ahd), scbid, ahd->scb_data.numscbs); in ahd_search_scb_list()
9706 ahd->scb_data.numscbs, ahd_inw(ahd, CMDS_PENDING), in ahd_dump_card_state()
9732 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) { in ahd_dump_card_state()
9742 LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) { in ahd_dump_card_state()