Lines Matching refs:active
374 struct axi_dmac_desc *active) in axi_dmac_compute_residue() argument
376 struct dmaengine_result *rslt = &active->vdesc.tx_result; in axi_dmac_compute_residue()
377 unsigned int start = active->num_completed - 1; in axi_dmac_compute_residue()
391 for (i = start; i < active->num_sgs; i++) { in axi_dmac_compute_residue()
392 sg = &active->sg[i]; in axi_dmac_compute_residue()
401 struct axi_dmac_desc *active; in axi_dmac_transfer_done() local
405 active = axi_dmac_active_desc(chan); in axi_dmac_transfer_done()
406 if (!active) in axi_dmac_transfer_done()
414 if (active->cyclic) { in axi_dmac_transfer_done()
415 vchan_cyclic_callback(&active->vdesc); in axi_dmac_transfer_done()
417 list_del(&active->vdesc.node); in axi_dmac_transfer_done()
418 vchan_cookie_complete(&active->vdesc); in axi_dmac_transfer_done()
419 active = axi_dmac_active_desc(chan); in axi_dmac_transfer_done()
420 start_next = !!active; in axi_dmac_transfer_done()
424 sg = &active->sg[active->num_completed]; in axi_dmac_transfer_done()
429 active->num_completed++; in axi_dmac_transfer_done()
437 axi_dmac_compute_residue(chan, active); in axi_dmac_transfer_done()
439 if (active->cyclic) in axi_dmac_transfer_done()
440 vchan_cyclic_callback(&active->vdesc); in axi_dmac_transfer_done()
442 if (active->num_completed == active->num_sgs || in axi_dmac_transfer_done()
444 if (active->cyclic) { in axi_dmac_transfer_done()
445 active->num_completed = 0; /* wrap around */ in axi_dmac_transfer_done()
447 list_del(&active->vdesc.node); in axi_dmac_transfer_done()
448 vchan_cookie_complete(&active->vdesc); in axi_dmac_transfer_done()
449 active = axi_dmac_active_desc(chan); in axi_dmac_transfer_done()
452 } while (active); in axi_dmac_transfer_done()