mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 08:51:13 +00:00
37 lines
1.4 KiB
Diff
37 lines
1.4 KiB
Diff
|
From 96412158397ca0e41db1eb7cec4f51a2280d1bf1 Mon Sep 17 00:00:00 2001
|
||
|
From: Mihai Serban <mihai.serban@nxp.com>
|
||
|
Date: Thu, 27 Apr 2017 18:47:42 +0300
|
||
|
Subject: [PATCH] MLK-14935: ASoC: fsl_sai: Fix mixing initialization data with
|
||
|
actual audio samples
|
||
|
|
||
|
When starting a playback the initialization data used to reduce underruns
|
||
|
was send to the transmit data register after the DMA requests were enabled.
|
||
|
This patch moves the initialization phase before enabling the DMA so the
|
||
|
data is transmitted in correct order.
|
||
|
|
||
|
Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
|
||
|
---
|
||
|
sound/soc/fsl/fsl_sai.c | 5 ++---
|
||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||
|
|
||
|
--- a/sound/soc/fsl/fsl_sai.c
|
||
|
+++ b/sound/soc/fsl/fsl_sai.c
|
||
|
@@ -594,15 +594,14 @@ static int fsl_sai_trigger(struct snd_pc
|
||
|
case SNDRV_PCM_TRIGGER_START:
|
||
|
case SNDRV_PCM_TRIGGER_RESUME:
|
||
|
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
|
||
|
- regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
|
||
|
- FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
|
||
|
-
|
||
|
for (i = 0; tx && i < channels; i++)
|
||
|
regmap_write(sai->regmap, FSL_SAI_TDR0, 0x0);
|
||
|
if (tx)
|
||
|
udelay(10);
|
||
|
|
||
|
regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
|
||
|
+ FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE);
|
||
|
+ regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
|
||
|
FSL_SAI_CSR_TERE, FSL_SAI_CSR_TERE);
|
||
|
regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx),
|
||
|
FSL_SAI_CSR_SE, FSL_SAI_CSR_SE);
|