Lines Matching refs:ascb

58 	struct asd_ascb *ascb = task->lldd_task;  in asd_map_scatterlist()  local
59 struct asd_ha_struct *asd_ha = ascb->ha; in asd_map_scatterlist()
90 ascb->sg_arr = asd_alloc_coherent(asd_ha, in asd_map_scatterlist()
93 if (!ascb->sg_arr) { in asd_map_scatterlist()
99 &((struct sg_el *)ascb->sg_arr->vaddr)[i]; in asd_map_scatterlist()
115 sg_arr[2].bus_addr=cpu_to_le64((u64)ascb->sg_arr->dma_handle); in asd_map_scatterlist()
134 static void asd_unmap_scatterlist(struct asd_ascb *ascb) in asd_unmap_scatterlist() argument
136 struct asd_ha_struct *asd_ha = ascb->ha; in asd_unmap_scatterlist()
137 struct sas_task *task = ascb->uldd_task; in asd_unmap_scatterlist()
144 le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr); in asd_unmap_scatterlist()
145 pci_unmap_single(ascb->ha->pcidev, dma, task->total_xfer_len, in asd_unmap_scatterlist()
150 asd_free_coherent(asd_ha, ascb->sg_arr); in asd_unmap_scatterlist()
158 static void asd_get_response_tasklet(struct asd_ascb *ascb, in asd_get_response_tasklet() argument
161 struct asd_ha_struct *asd_ha = ascb->ha; in asd_get_response_tasklet()
162 struct sas_task *task = ascb->uldd_task; in asd_get_response_tasklet()
212 static void asd_task_tasklet_complete(struct asd_ascb *ascb, in asd_task_tasklet_complete() argument
215 struct sas_task *task = ascb->uldd_task; in asd_task_tasklet_complete()
220 asd_can_dequeue(ascb->ha, 1); in asd_task_tasklet_complete()
242 asd_get_response_tasklet(ascb, dl); in asd_task_tasklet_complete()
330 asd_unbuild_ata_ascb(ascb); in asd_task_tasklet_complete()
333 asd_unbuild_smp_ascb(ascb); in asd_task_tasklet_complete()
336 asd_unbuild_ssp_ascb(ascb); in asd_task_tasklet_complete()
346 struct completion *completion = ascb->completion; in asd_task_tasklet_complete()
356 asd_ascb_free(ascb); in asd_task_tasklet_complete()
364 static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_ata_ascb() argument
372 scb = ascb->scb; in asd_build_ata_ascb()
416 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_ata_ascb()
432 static int asd_build_smp_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_smp_ascb() argument
435 struct asd_ha_struct *asd_ha = ascb->ha; in asd_build_smp_ascb()
444 scb = ascb->scb; in asd_build_smp_ascb()
464 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_smp_ascb()
482 static int asd_build_ssp_ascb(struct asd_ascb *ascb, struct sas_task *task, in asd_build_ssp_ascb() argument
489 scb = ascb->scb; in asd_build_ssp_ascb()
517 ascb->tasklet_complete = asd_task_tasklet_complete; in asd_build_ssp_ascb()
551 struct asd_ascb *ascb = NULL, *a; in asd_execute_task() local
560 ascb = asd_ascb_alloc_list(asd_ha, &res, gfp_flags); in asd_execute_task()
566 __list_add(&alist, ascb->list.prev, &ascb->list); in asd_execute_task()
603 res = asd_post_ascb_list(asd_ha, ascb, 1); in asd_execute_task()
606 __list_add(&alist, ascb->list.prev, &ascb->list); in asd_execute_task()
639 if (ascb) in asd_execute_task()
640 asd_ascb_free_list(ascb); in asd_execute_task()