Lines Matching refs:ascb

40 	struct asd_ascb *ascb = task->lldd_task;  in asd_map_scatterlist()  local
41 struct asd_ha_struct *asd_ha = ascb->ha; in asd_map_scatterlist()
75 ascb->sg_arr = asd_alloc_coherent(asd_ha, in asd_map_scatterlist()
78 if (!ascb->sg_arr) { in asd_map_scatterlist()
84 &((struct sg_el *)ascb->sg_arr->vaddr)[i]; in asd_map_scatterlist()
100 sg_arr[2].bus_addr=cpu_to_le64((u64)ascb->sg_arr->dma_handle); in asd_map_scatterlist()
119 static void asd_unmap_scatterlist(struct asd_ascb *ascb) in asd_unmap_scatterlist() argument
121 struct asd_ha_struct *asd_ha = ascb->ha; in asd_unmap_scatterlist()
122 struct sas_task *task = ascb->uldd_task; in asd_unmap_scatterlist()
129 le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr); in asd_unmap_scatterlist()
130 dma_unmap_single(&ascb->ha->pcidev->dev, dma, in asd_unmap_scatterlist()
135 asd_free_coherent(asd_ha, ascb->sg_arr); in asd_unmap_scatterlist()
143 static void asd_get_response_tasklet(struct asd_ascb *ascb, in asd_get_response_tasklet() argument
146 struct asd_ha_struct *asd_ha = ascb->ha; in asd_get_response_tasklet()
147 struct sas_task *task = ascb->uldd_task; in asd_get_response_tasklet()
197 static void asd_task_tasklet_complete(struct asd_ascb *ascb, in asd_task_tasklet_complete() argument
200 struct sas_task *task = ascb->uldd_task; in asd_task_tasklet_complete()
205 asd_can_dequeue(ascb->ha, 1); in asd_task_tasklet_complete()
227 asd_get_response_tasklet(ascb, dl); in asd_task_tasklet_complete()
314 asd_unbuild_ata_ascb(ascb); in asd_task_tasklet_complete()
317 asd_unbuild_smp_ascb(ascb); in asd_task_tasklet_complete()
320 asd_unbuild_ssp_ascb(ascb); in asd_task_tasklet_complete()
330 struct completion *completion = ascb->completion; in asd_task_tasklet_complete()
340 asd_ascb_free(ascb); in asd_task_tasklet_complete()
348 static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_ata_ascb() argument
356 scb = ascb->scb; in asd_build_ata_ascb()
395 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_ata_ascb()
411 static int asd_build_smp_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_smp_ascb() argument
414 struct asd_ha_struct *asd_ha = ascb->ha; in asd_build_smp_ascb()
423 scb = ascb->scb; in asd_build_smp_ascb()
443 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_smp_ascb()
461 static int asd_build_ssp_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_ssp_ascb() argument
468 scb = ascb->scb; in asd_build_ssp_ascb()
493 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_ssp_ascb()
527 struct asd_ascb *ascb = NULL, *a; in asd_execute_task() local
535 ascb = asd_ascb_alloc_list(asd_ha, &res, gfp_flags); in asd_execute_task()
541 __list_add(&alist, ascb->list.prev, &ascb->list); in asd_execute_task()
574 res = asd_post_ascb_list(asd_ha, ascb, 1); in asd_execute_task()
577 __list_add(&alist, ascb->list.prev, &ascb->list); in asd_execute_task()
608 if (ascb) in asd_execute_task()
609 asd_ascb_free_list(ascb); in asd_execute_task()