dmaengine: axi-dmac: terminate early DMA transfers after a partial one
authorAlexandru Ardelean <alexandru.ardelean@analog.com>
Thu, 6 Jun 2019 10:45:49 +0000 (13:45 +0300)
committerVinod Koul <vkoul@kernel.org>
Fri, 14 Jun 2019 05:52:44 +0000 (11:22 +0530)
commite28d915528136449ed261a743dfa3f392f555045
treef06d4cda67d27ce12c915f14162eb9d1a0d9c24c
parente3923592f80ba93aaa35b8d49b1f0a5b31db6b7f
dmaengine: axi-dmac: terminate early DMA transfers after a partial one

When a partial transfer is received, the driver should not submit any more
segments to the hardware, as they will be ignored/unused until a new
transfer start operation is done.

This change implements this by adding a new flag on the AXI DMAC
descriptor. This flags is set to true, if there was a partial transfer in
a previously completed segment. When that flag is true, the TLAST flag is
added to the to the submitted segment, signaling the controller to stop
receiving more segments.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dma-axi-dmac.c