[PATCH 0/3] dma: edma: Add cyclic DMA support

From: Joel Fernandes
Date: Mon Sep 23 2013 - 19:06:21 EST


The following series adds Cyclic DMA support to TI EDMA DMA Engine driver.

First we split out the calculations for the Slave DMA case into a separate
function so that we may reuse it for the calculations of Cyclic DMA parameters.
Next patch then adds the actual support for Cyclic DMA, enables interrupts
correctly and uses's the callbacks in virt-dma during interrupts thus
signalling back to the ALSA layer that a period was transmitted.

Some background on motivation for this series:
Currently, only user of Cyclic DMA in EDMA is davinci-pcm driver. As of today,
this driver directly calls into the EDMA private API (arch/arm/common/edma.c)
without going through the DMAEngine.

davinci-pcm in future will be modified to use DMA Engine framework for Cyclic
DMA instead of directly using the Private API. However that's a much larger
effort, involving dealing with ping-pong from SRAM on user's of the Davinci
McASP, etc. As a first step, we add Cyclic DMA support to the EDMA driver so
that this may be used when the actual conversion of davinci-pcm happens.

Tested series along with couple of hacks to davinci-pcm to work with DMA Engine:
git@xxxxxxxxxx:joelagnel/linux-kernel.git (branch dma/cyclic)

Joel Fernandes (3):
dma: edma: Split out PaRAM set calculations into its own function
dma: edma: Add support for Cyclic DMA
dma: edma: Increase maximum SG limit to 20

drivers/dma/edma.c | 350 +++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 273 insertions(+), 77 deletions(-)

--
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/