Lines Matching refs:ascb

358 		struct asd_ascb *ascb = seq->escb_arr[i];  in asd_assign_edbs2escbs()  local
359 struct empty_scb *escb = &ascb->scb->escb; in asd_assign_edbs2escbs()
361 ascb->edb_index = z; in asd_assign_edbs2escbs()
738 struct asd_ascb *ascb; in asd_dl_tasklet_handler() local
745 ascb = asd_tc_index_find(seq, (int)le16_to_cpu(dl->index)); in asd_dl_tasklet_handler()
747 if (unlikely(!ascb)) { in asd_dl_tasklet_handler()
750 } else if (ascb->scb->header.opcode == EMPTY_SCB) { in asd_dl_tasklet_handler()
752 } else if (!ascb->uldd_timer && !del_timer(&ascb->timer)) { in asd_dl_tasklet_handler()
756 list_del_init(&ascb->list); in asd_dl_tasklet_handler()
760 ascb->tasklet_complete(ascb, dl); in asd_dl_tasklet_handler()
1051 struct asd_ascb *ascb; in asd_ascb_alloc() local
1054 ascb = kmem_cache_zalloc(asd_ascb_cache, gfp_flags); in asd_ascb_alloc()
1056 if (ascb) { in asd_ascb_alloc()
1057 ascb->dma_scb.size = sizeof(struct scb); in asd_ascb_alloc()
1058 ascb->dma_scb.vaddr = dma_pool_alloc(asd_ha->scb_pool, in asd_ascb_alloc()
1060 &ascb->dma_scb.dma_handle); in asd_ascb_alloc()
1061 if (!ascb->dma_scb.vaddr) { in asd_ascb_alloc()
1062 kmem_cache_free(asd_ascb_cache, ascb); in asd_ascb_alloc()
1065 memset(ascb->dma_scb.vaddr, 0, sizeof(struct scb)); in asd_ascb_alloc()
1066 asd_init_ascb(asd_ha, ascb); in asd_ascb_alloc()
1069 ascb->tc_index = asd_tc_index_get(seq, ascb); in asd_ascb_alloc()
1071 if (ascb->tc_index == -1) in asd_ascb_alloc()
1074 ascb->scb->header.index = cpu_to_le16((u16)ascb->tc_index); in asd_ascb_alloc()
1077 return ascb; in asd_ascb_alloc()
1079 dma_pool_free(asd_ha->scb_pool, ascb->dma_scb.vaddr, in asd_ascb_alloc()
1080 ascb->dma_scb.dma_handle); in asd_ascb_alloc()
1081 kmem_cache_free(asd_ascb_cache, ascb); in asd_ascb_alloc()
1109 struct asd_ascb *ascb = asd_ascb_alloc(asd_ha, gfp_flags); in asd_ascb_alloc_list() local
1111 if (!ascb) in asd_ascb_alloc_list()
1114 first = ascb; in asd_ascb_alloc_list()
1119 list_add_tail(&ascb->list, &first->list); in asd_ascb_alloc_list()
1121 cpu_to_le64(((u64)ascb->dma_scb.dma_handle)); in asd_ascb_alloc_list()
1147 struct asd_ascb *ascb) in asd_swap_head_scb() argument
1150 struct asd_ascb *last = list_entry(ascb->list.prev, in asd_swap_head_scb()
1153 struct asd_dma_tok t = ascb->dma_scb; in asd_swap_head_scb()
1155 memcpy(seq->next_scb.vaddr, ascb->scb, sizeof(*ascb->scb)); in asd_swap_head_scb()
1156 ascb->dma_scb = seq->next_scb; in asd_swap_head_scb()
1157 ascb->scb = ascb->dma_scb.vaddr; in asd_swap_head_scb()
1175 struct asd_ascb *ascb; in asd_start_scb_timers() local
1176 list_for_each_entry(ascb, list, list) { in asd_start_scb_timers()
1177 if (!ascb->uldd_timer) { in asd_start_scb_timers()
1178 ascb->timer.data = (unsigned long) ascb; in asd_start_scb_timers()
1179 ascb->timer.function = asd_ascb_timedout; in asd_start_scb_timers()
1180 ascb->timer.expires = jiffies + AIC94XX_SCB_TIMEOUT; in asd_start_scb_timers()
1181 add_timer(&ascb->timer); in asd_start_scb_timers()
1205 int asd_post_ascb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb, in asd_post_ascb_list() argument
1225 asd_swap_head_scb(asd_ha, ascb); in asd_post_ascb_list()
1227 __list_add(&list, ascb->list.prev, &ascb->list); in asd_post_ascb_list()
1257 int asd_post_escb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb, in asd_post_escb_list() argument
1263 asd_swap_head_scb(asd_ha, ascb); in asd_post_escb_list()
1358 struct asd_ascb *ascb; in asd_enable_phys() local
1379 ascb = ascb_list; in asd_enable_phys()
1381 asd_build_control_phy(ascb, i, ENABLE_PHY); in asd_enable_phys()
1382 ascb = list_entry(ascb->list.next, struct asd_ascb, list); in asd_enable_phys()