[alsa-devel] [PATCH] ASoC: atmel-pcm-dma: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag
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@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, - SND_DMAENGINE_PCM_FLAG_NO_RESIDUE); + return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config, 0); } EXPORT_SYMBOL(atmel_pcm_dma_platform_register);
Hi Lars,
On 01/06/2014 10:30 PM, Lars-Peter Clausen wrote:
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@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(-)
Thanks for your patch.
For the dma get residue code, we are improving it. So, I think we'd better waiting the improvement done and after let this patch go into mainline.
What do you think?
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,
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE);
- return snd_dmaengine_pcm_register(dev, &atmel_dmaengine_pcm_config, 0); } EXPORT_SYMBOL(atmel_pcm_dma_platform_register);
Best Regards, Bo Shen
On 01/07/2014 10:05 AM, Bo Shen wrote:
Hi Lars,
On 01/06/2014 10:30 PM, Lars-Peter Clausen wrote:
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@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(-)
Thanks for your patch.
For the dma get residue code, we are improving it. So, I think we'd better waiting the improvement done and after let this patch go into mainline.
What do you think?
If the residue reporting in the dmaengine driver doesn't work properly yet we have to wait.
- Lars
participants (2)
-
Bo Shen
-
Lars-Peter Clausen