[alsa-devel] [PATCH] ASoC: atmel-pcm-dma: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag

Lars-Peter Clausen lars at metafoo.de
Mon Jan 6 15:30:29 CET 2014

Since commit d48de6f1a ("DMA: AT91: Get residual bytes in dma buffer") the
at91-dma driver has support for residue reporting. So there is no need to
specify the SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag. This allows for a finer
grained resolution of the PCM pointer as well as avoids the race condition that
can occur with the period counting that is used when the dmaengine driver does
not support residue reporting.

Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>

I don't have the hardware, so only compile tested. It should work though if the
residue calculation in the dma driver is implemented correctly.
 sound/soc/atmel/atmel-pcm-dma.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sound/soc/atmel/atmel-pcm-dma.c b/sound/soc/atmel/atmel-pcm-dma.c
index 06082e5..ba1366a 100644
--- a/sound/soc/atmel/atmel-pcm-dma.c
+++ b/sound/soc/atmel/atmel-pcm-dma.c
@@ -129,8 +129,7 @@ static const struct snd_dmaengine_pcm_config atmel_dmaengine_pcm_config = {
 int atmel_pcm_dma_platform_register(struct device *dev)
-	return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config,
+	return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config, 0);

More information about the Alsa-devel mailing list