The DMA engine API requires that transfers are started in issue_pending
instead of tx_submit. Fix this.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
[corrected change log to DMA engine API insteadof DMA API]
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
cookie = imxdma_assign_cookie(imxdmac);
- imx_dma_enable(imxdmac->imxdma_channel);
-
spin_unlock_irq(&imxdmac->lock);
return cookie;
static void imxdma_issue_pending(struct dma_chan *chan)
{
- /*
- * Nothing to do. We only have a single descriptor
- */
+ struct imxdma_channel *imxdmac = to_imxdma_chan(chan);
+
+ if (imxdmac->status == DMA_IN_PROGRESS)
+ imx_dma_enable(imxdmac->imxdma_channel);
}
static int __init imxdma_probe(struct platform_device *pdev)