diff options
author | Alexandru Ardelean <alexandru.ardelean@analog.com> | 2019-06-06 13:45:47 +0300 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2019-06-14 11:22:43 +0530 |
commit | 09d5b702b0f97dd0768dade7106b6bf7622b1355 (patch) | |
tree | 3945b92ef9ad56aaa9570437f7577281a20229b6 /drivers/dma/virt-dma.c | |
parent | a08a9645a3d6f9e11a2dba2b46f0d5ac5d80c4e0 (diff) | |
download | linux-09d5b702b0f97dd0768dade7106b6bf7622b1355.tar.bz2 |
dmaengine: virt-dma: store result on dma descriptor
This allows each virtual channel to store information about each transfer
that completed, i.e. which transfer succeeded (or which failed) and if
there was any residue data on each (completed) transfer.
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/virt-dma.c')
-rw-r--r-- | drivers/dma/virt-dma.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dma/virt-dma.c b/drivers/dma/virt-dma.c index 88ad8ed2a8d6..bf560a20c8a8 100644 --- a/drivers/dma/virt-dma.c +++ b/drivers/dma/virt-dma.c @@ -101,7 +101,7 @@ static void vchan_complete(unsigned long arg) } spin_unlock_irq(&vc->lock); - dmaengine_desc_callback_invoke(&cb, NULL); + dmaengine_desc_callback_invoke(&cb, &vd->tx_result); list_for_each_entry_safe(vd, _vd, &head, node) { dmaengine_desc_get_callback(&vd->tx, &cb); @@ -109,7 +109,7 @@ static void vchan_complete(unsigned long arg) list_del(&vd->node); vchan_vdesc_fini(vd); - dmaengine_desc_callback_invoke(&cb, NULL); + dmaengine_desc_callback_invoke(&cb, &vd->tx_result); } } |