Lines Matching defs:asd_ha

18 static void asd_can_dequeue(struct asd_ha_struct *asd_ha, int num)
22 spin_lock_irqsave(&asd_ha->seq.pend_q_lock, flags);
23 asd_ha->seq.can_queue += num;
24 spin_unlock_irqrestore(&asd_ha->seq.pend_q_lock, flags);
41 struct asd_ha_struct *asd_ha = ascb->ha;
50 dma_addr_t dma = dma_map_single(&asd_ha->pcidev->dev, p,
53 if (dma_mapping_error(&asd_ha->pcidev->dev, dma))
67 num_sg = dma_map_sg(&asd_ha->pcidev->dev, task->scatter,
75 ascb->sg_arr = asd_alloc_coherent(asd_ha,
114 dma_unmap_sg(&asd_ha->pcidev->dev, task->scatter,
121 struct asd_ha_struct *asd_ha = ascb->ha;
135 asd_free_coherent(asd_ha, ascb->sg_arr);
137 dma_unmap_sg(&asd_ha->pcidev->dev, task->scatter,
146 struct asd_ha_struct *asd_ha = ascb->ha;
162 spin_lock_irqsave(&asd_ha->seq.tc_index_lock, flags);
163 escb = asd_tc_index_find(&asd_ha->seq,
165 spin_unlock_irqrestore(&asd_ha->seq.tc_index_lock, flags);
173 edb = asd_ha->seq.edb_arr[edb_id + escb->edb_index];
181 sas_ssp_task_response(&asd_ha->pcidev->dev, task, iu);
420 struct asd_ha_struct *asd_ha = ascb->ha;
424 dma_map_sg(&asd_ha->pcidev->dev, &task->smp_task.smp_req, 1,
426 dma_map_sg(&asd_ha->pcidev->dev, &task->smp_task.smp_resp, 1,
516 static int asd_can_queue(struct asd_ha_struct *asd_ha, int num)
521 spin_lock_irqsave(&asd_ha->seq.pend_q_lock, flags);
522 if ((asd_ha->seq.can_queue - num) < 0)
525 asd_ha->seq.can_queue -= num;
526 spin_unlock_irqrestore(&asd_ha->seq.pend_q_lock, flags);
537 struct asd_ha_struct *asd_ha = task->dev->port->ha->lldd_ha;
540 res = asd_can_queue(asd_ha, 1);
545 ascb = asd_ascb_alloc_list(asd_ha, &res, gfp_flags);
588 res = asd_post_ascb_list(asd_ha, ascb, 1);
626 asd_can_dequeue(asd_ha, 1);