• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/scsi/aic7xxx/

Lines Matching refs:scb_data

5592 	for (i = 0; i < ahd->scb_data.maxhscbs; i++) {
5606 struct scb_data *scb_data;
5609 scb_data = &ahd->scb_data;
5610 TAILQ_INIT(&scb_data->free_scbs);
5612 LIST_INIT(&scb_data->free_scb_lists[i]);
5613 LIST_INIT(&scb_data->any_dev_free_scb_list);
5614 SLIST_INIT(&scb_data->hscb_maps);
5615 SLIST_INIT(&scb_data->sg_maps);
5616 SLIST_INIT(&scb_data->sense_maps);
5619 scb_data->maxhscbs = ahd_probe_scbs(ahd);
5620 if (scb_data->maxhscbs == 0) {
5645 /*flags*/0, &scb_data->hscb_dmat) != 0) {
5649 scb_data->init_level++;
5659 /*flags*/0, &scb_data->sg_dmat) != 0) {
5668 scb_data->init_level++;
5678 /*flags*/0, &scb_data->sense_dmat) != 0) {
5682 scb_data->init_level++;
5687 if (scb_data->numscbs == 0) {
5720 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
5734 LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) {
5745 struct scb_data *scb_data;
5747 scb_data = &ahd->scb_data;
5748 if (scb_data == NULL)
5751 switch (scb_data->init_level) {
5757 while ((sns_map = SLIST_FIRST(&scb_data->sense_maps)) != NULL) {
5758 SLIST_REMOVE_HEAD(&scb_data->sense_maps, links);
5759 ahd_dmamap_unload(ahd, scb_data->sense_dmat,
5761 ahd_dmamem_free(ahd, scb_data->sense_dmat,
5765 ahd_dma_tag_destroy(ahd, scb_data->sense_dmat);
5772 while ((sg_map = SLIST_FIRST(&scb_data->sg_maps)) != NULL) {
5773 SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
5774 ahd_dmamap_unload(ahd, scb_data->sg_dmat,
5776 ahd_dmamem_free(ahd, scb_data->sg_dmat,
5780 ahd_dma_tag_destroy(ahd, scb_data->sg_dmat);
5787 while ((hscb_map = SLIST_FIRST(&scb_data->hscb_maps)) != NULL) {
5788 SLIST_REMOVE_HEAD(&scb_data->hscb_maps, links);
5789 ahd_dmamap_unload(ahd, scb_data->hscb_dmat,
5791 ahd_dmamem_free(ahd, scb_data->hscb_dmat,
5795 ahd_dma_tag_destroy(ahd, scb_data->hscb_dmat);
5869 free_list = &ahd->scb_data.free_scb_lists[col_idx];
5870 free_tailq = &ahd->scb_data.free_scbs;
5890 free_list = &ahd->scb_data.free_scb_lists[col_idx];
5891 free_tailq = &ahd->scb_data.free_scbs;
5922 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
5928 if ((scb = LIST_FIRST(&ahd->scb_data.any_dev_free_scb_list)) == NULL) {
5957 ahd->scb_data.scbindex[SCB_GET_TAG(scb)] = NULL;
5964 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
5974 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
5976 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
5996 LIST_INSERT_HEAD(&ahd->scb_data.any_dev_free_scb_list,
6006 struct scb_data *scb_data;
6020 scb_data = &ahd->scb_data;
6021 if (scb_data->numscbs >= AHD_SCB_MAX_ALLOC)
6025 if (scb_data->scbs_left != 0) {
6028 offset = (PAGE_SIZE / sizeof(*hscb)) - scb_data->scbs_left;
6029 hscb_map = SLIST_FIRST(&scb_data->hscb_maps);
6039 if (ahd_dmamem_alloc(ahd, scb_data->hscb_dmat,
6046 SLIST_INSERT_HEAD(&scb_data->hscb_maps, hscb_map, links);
6048 ahd_dmamap_load(ahd, scb_data->hscb_dmat, hscb_map->dmamap,
6054 scb_data->scbs_left = PAGE_SIZE / sizeof(*hscb);
6057 if (scb_data->sgs_left != 0) {
6061 - scb_data->sgs_left) * ahd_sglist_size(ahd);
6062 sg_map = SLIST_FIRST(&scb_data->sg_maps);
6072 if (ahd_dmamem_alloc(ahd, scb_data->sg_dmat,
6079 SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
6081 ahd_dmamap_load(ahd, scb_data->sg_dmat, sg_map->dmamap,
6087 scb_data->sgs_left =
6095 if (scb_data->sense_left != 0) {
6098 offset = PAGE_SIZE - (AHD_SENSE_BUFSIZE * scb_data->sense_left);
6099 sense_map = SLIST_FIRST(&scb_data->sense_maps);
6109 if (ahd_dmamem_alloc(ahd, scb_data->sense_dmat,
6116 SLIST_INSERT_HEAD(&scb_data->sense_maps, sense_map, links);
6118 ahd_dmamap_load(ahd, scb_data->sense_dmat, sense_map->dmamap,
6124 scb_data->sense_left = PAGE_SIZE / AHD_SENSE_BUFSIZE;
6131 newcount = min(scb_data->sense_left, scb_data->scbs_left);
6132 newcount = min(newcount, scb_data->sgs_left);
6133 newcount = min(newcount, (AHD_SCB_MAX_ALLOC - scb_data->numscbs));
6184 next_scb->hscb->tag = ahd_htole16(scb_data->numscbs);
6185 col_tag = scb_data->numscbs ^ 0x100;
6196 scb_data->numscbs++;
6197 scb_data->sense_left--;
6198 scb_data->scbs_left--;
6199 scb_data->sgs_left--;
6224 ahd->scb_data.maxhscbs);
7478 if (scbid >= ahd->scb_data.numscbs) {
7481 ahd_name(ahd), scbid, ahd->scb_data.numscbs);
7604 if (scbid >= ahd->scb_data.numscbs) {
7607 ahd_name(ahd), scbid, ahd->scb_data.numscbs);
8962 ahd->scb_data.numscbs, ahd_inw(ahd, CMDS_PENDING),
8988 TAILQ_FOREACH(scb, &ahd->scb_data.free_scbs, links.tqe) {
8998 LIST_FOREACH(scb, &ahd->scb_data.any_dev_free_scb_list, links.le) {