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()
72 ascb->sg_arr = asd_alloc_coherent(asd_ha, in asd_map_scatterlist()
75 if (!ascb->sg_arr) { in asd_map_scatterlist()
81 &((struct sg_el *)ascb->sg_arr->vaddr)[i]; in asd_map_scatterlist()
97 sg_arr[2].bus_addr=cpu_to_le64((u64)ascb->sg_arr->dma_handle); in asd_map_scatterlist()
116 static void asd_unmap_scatterlist(struct asd_ascb *ascb) in asd_unmap_scatterlist() argument
118 struct asd_ha_struct *asd_ha = ascb->ha; in asd_unmap_scatterlist()
119 struct sas_task *task = ascb->uldd_task; in asd_unmap_scatterlist()
126 le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr); in asd_unmap_scatterlist()
127 dma_unmap_single(&ascb->ha->pcidev->dev, dma, in asd_unmap_scatterlist()
132 asd_free_coherent(asd_ha, ascb->sg_arr); in asd_unmap_scatterlist()
140 static void asd_get_response_tasklet(struct asd_ascb *ascb, in asd_get_response_tasklet() argument
143 struct asd_ha_struct *asd_ha = ascb->ha; in asd_get_response_tasklet()
144 struct sas_task *task = ascb->uldd_task; in asd_get_response_tasklet()
194 static void asd_task_tasklet_complete(struct asd_ascb *ascb, in asd_task_tasklet_complete() argument
197 struct sas_task *task = ascb->uldd_task; in asd_task_tasklet_complete()
202 asd_can_dequeue(ascb->ha, 1); in asd_task_tasklet_complete()
224 asd_get_response_tasklet(ascb, dl); in asd_task_tasklet_complete()
312 asd_unbuild_ata_ascb(ascb); in asd_task_tasklet_complete()
315 asd_unbuild_smp_ascb(ascb); in asd_task_tasklet_complete()
318 asd_unbuild_ssp_ascb(ascb); in asd_task_tasklet_complete()
328 struct completion *completion = ascb->completion; in asd_task_tasklet_complete()
338 asd_ascb_free(ascb); in asd_task_tasklet_complete()
346 static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_ata_ascb() argument
354 scb = ascb->scb; in asd_build_ata_ascb()
398 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_ata_ascb()
414 static int asd_build_smp_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_smp_ascb() argument
417 struct asd_ha_struct *asd_ha = ascb->ha; in asd_build_smp_ascb()
426 scb = ascb->scb; in asd_build_smp_ascb()
446 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_smp_ascb()
464 static int asd_build_ssp_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_ssp_ascb() argument
471 scb = ascb->scb; in asd_build_ssp_ascb()
499 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_ssp_ascb()
533 struct asd_ascb *ascb = NULL, *a; in asd_execute_task() local
542 ascb = asd_ascb_alloc_list(asd_ha, &res, gfp_flags); in asd_execute_task()
548 __list_add(&alist, ascb->list.prev, &ascb->list); in asd_execute_task()
585 res = asd_post_ascb_list(asd_ha, ascb, 1); in asd_execute_task()
588 __list_add(&alist, ascb->list.prev, &ascb->list); in asd_execute_task()
621 if (ascb) in asd_execute_task()
622 asd_ascb_free_list(ascb); in asd_execute_task()