summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2014-07-16 15:29:21 +0300
committerVinod Koul <vinod.koul@intel.com>2014-07-28 17:02:53 +0530
commita1f146f31724b649f74185ffc817bbd983eba5e2 (patch)
tree886b120a69296ce894f3dc7ddc46137c59084e13 /drivers/dma
parentb7f9bc5267d3517de8a7159219db96de7d12a37b (diff)
downloadop-kernel-dev-a1f146f31724b649f74185ffc817bbd983eba5e2.zip
op-kernel-dev-a1f146f31724b649f74185ffc817bbd983eba5e2.tar.gz
dmaengine: edma: Support to suppress the period interrupts in cyclic mode
If the client (audio) does not request interrupts for every period we can disable them. With updated audio driver stack we can play audio w/o the need to process any edma interrupts. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/edma.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
index 8e400c0..54f7408 100644
--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -718,10 +718,10 @@ static struct dma_async_tx_descriptor *edma_prep_dma_cyclic(
edesc->absync = ret;
/*
- * Enable interrupts for every period because callback
- * has to be called for every period.
+ * Enable period interrupt only if it is requested
*/
- edesc->pset[i].param.opt |= TCINTEN;
+ if (tx_flags & DMA_PREP_INTERRUPT)
+ edesc->pset[i].param.opt |= TCINTEN;
}
return vchan_tx_prep(&echan->vchan, &edesc->vdesc, tx_flags);
OpenPOWER on IntegriCloud