dmaengine: omap-dma: Handle cases when the channel is polled for completion
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 11 Nov 2015 10:37:58 +0000 (12:37 +0200)
committerVinod Koul <vinod.koul@intel.com>
Sat, 5 Dec 2015 08:06:38 +0000 (13:36 +0530)
commit1a7cf7b26f2594bb1c622f76765f77d3a5140293
tree8648908a2e44c4685a0dadc4d67d66e3599df75f
parent1c1d25f9f933211b622b0e209716372480051361
dmaengine: omap-dma: Handle cases when the channel is polled for completion

When a DMA client driver decides that it is not providing callback for
completion of a transfer (and/or does not set the DMA_PREP_INTERRUPT) but
it will poll the status of the transfer (in case of short memcpy for
example) we will not get interrupt for the completion of the transfer and
will not mark the transaction as done.
Check the channel enable bit in the CCR when the status is queried and if
the channel is no longer active, we call the omap_dma_callback() to handle
the transfer completion.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/omap-dma.c