summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHao Bui <hao.bui.yg@renesas.com>2024-11-06 10:18:20 +0200
committerMark Brown <broonie@kernel.org>2024-11-06 21:14:32 +0000
commit1e1a2ef95b571825ca9c0113f6bef51e9cec98b0 (patch)
tree3c65a44e5a347116428dfd67fd86f9fae9bf48e5
parent431e040065c814448ffcc2fac493f7dbbfb2e796 (diff)
ASoC: da7213: Avoid setting PLL when closing audio stream
When audio stream is closing, audio frequency is set to 0 by ALSA but codec driver DA7213 does not handle properly in this case. This patch adds checking of 0Hz frequency to da7213_set_component_sysclk() and avoid unnecessary PLL settings. Signed-off-by: Hao Bui <hao.bui.yg@renesas.com> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Link: https://patch.msgid.link/20241106081826.1211088-26-claudiu.beznea.uj@bp.renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/da7213.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/da7213.c b/sound/soc/codecs/da7213.c
index 01c78f8032c4..af38b2b5e174 100644
--- a/sound/soc/codecs/da7213.c
+++ b/sound/soc/codecs/da7213.c
@@ -1555,6 +1555,10 @@ static int da7213_set_component_sysclk(struct snd_soc_component *component,
if ((da7213->clk_src == clk_id) && (da7213->mclk_rate == freq))
return 0;
+ /* Maybe audio stream is closing. */
+ if (freq == 0)
+ return 0;
+
if (((freq < 5000000) && (freq != 32768)) || (freq > 54000000)) {
dev_err(component->dev, "Unsupported MCLK value %d\n",
freq);