Эх сурвалжийг харах

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>
Peter Ujfalusi 11 жил өмнө
parent
commit
a1f146f317
1 өөрчлөгдсөн 3 нэмэгдсэн , 3 устгасан
  1. 3 3
      drivers/dma/edma.c

+ 3 - 3
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);