Balamurugan Selvarajan has uploaded a new change for review.
https://chromium-review.googlesource.com/353592
Change subject: CHROMIUM: ASoC: ipq4019: Modify I2S configuration sequence
......................................................................
CHROMIUM: ASoC: ipq4019: Modify I2S configuration sequence
Modified audio_hw_params to have stereo config reset in the beginning
to ensure cleaner I2S state machines. This reset should done before
configuring the I2S parameters.
BUG=chrome-os-partner:53767
TEST=unit tested audio driver with below test cases.
1. Tested for static noise during playback
2. Tested for noise during the start/end of the audio
3. Loop audio playback for 500 times. Should play without
random noise, crash or hangs.
Change-Id: I6385cce722c7a90098b7a56754ac81fde9d549f6
Signed-off-by: Balamurugan Selvarajan <
bsel...@codeaurora.org>
---
M sound/soc/qca/ipq4019-cpu-dai.c
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/sound/soc/qca/ipq4019-cpu-dai.c
b/sound/soc/qca/ipq4019-cpu-dai.c
index 5f7b3ce..0542224 100644
--- a/sound/soc/qca/ipq4019-cpu-dai.c
+++ b/sound/soc/qca/ipq4019-cpu-dai.c
@@ -187,8 +187,13 @@
bclk = rate * bit_act * channels;
mclk = bclk * MCLK_MULTI;
+ /*
+ * Stereo config reset here will resets I2S buffers and state machine
+ * and the configuration sequence to be in the below order.
+ */
+ ipq4019_stereo_config_reset(stereo_id);
+ ipq4019_stereo_config_enable(DISABLE, stereo_id);
ipq4019_glb_clk_enable_oe(substream->stream);
-
ipq4019_config_master(ENABLE, stereo_id);
ret = ipq4019_cfg_bit_width(bit_width, stereo_id);
@@ -197,9 +202,6 @@
return ret;
}
- ipq4019_stereo_config_enable(DISABLE, stereo_id);
-
- ipq4019_stereo_config_reset(ENABLE, stereo_id);
ipq4019_stereo_config_mic_reset(ENABLE, stereo_id);
mdelay(5);
@@ -211,7 +213,6 @@
return ret;
}
- ipq4019_stereo_config_reset(DISABLE, stereo_id);
ipq4019_stereo_config_mic_reset(DISABLE, stereo_id);
ipq4019_stereo_config_enable(ENABLE, stereo_id);
--
To view, visit
https://chromium-review.googlesource.com/353592
To unsubscribe, visit
https://chromium-review.googlesource.com/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6385cce722c7a90098b7a56754ac81fde9d549f6
Gerrit-PatchSet: 1
Gerrit-Project: chromiumos/third_party/kernel
Gerrit-Branch: chromeos-3.18
Gerrit-Owner: Balamurugan Selvarajan <
bsel...@codeaurora.org>