dmaengine: omap: Support for element mode in cyclic DMA
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 14 Sep 2012 12:05:44 +0000 (15:05 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 22 Sep 2012 15:12:35 +0000 (11:12 -0400)
When src_maxburst/dst_maxburst is set to 0 by the users of cyclic DMA
(mostly audio) indicates that we should configure the omap DMA to element
sync mode instead of packet mode.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/dma/omap-dma.c

index ae05618261373226d758192a03cda490581939a6..b77a40db2856d1b5eb2faf3b3e4a5a34f7683abd 100644 (file)
@@ -413,7 +413,10 @@ static struct dma_async_tx_descriptor *omap_dma_prep_dma_cyclic(
        d->dev_addr = dev_addr;
        d->fi = burst;
        d->es = es;
-       d->sync_mode = OMAP_DMA_SYNC_PACKET;
+       if (burst)
+               d->sync_mode = OMAP_DMA_SYNC_PACKET;
+       else
+               d->sync_mode = OMAP_DMA_SYNC_ELEMENT;
        d->sync_type = sync_type;
        d->periph_port = OMAP_DMA_PORT_MPUI;
        d->sg[0].addr = buf_addr;