From 987325373b1b488fea4ff8d64f6910ea7432e226 Mon Sep 17 00:00:00 2001 From: Inha Song Date: Thu, 2 Jul 2015 21:11:17 +0900 Subject: LOCAL / ASoC: samsung: Add SYSCLK stop in stop_sysclk for reset base rate This patch add SYSCLK stop in stop_sysclk function for set base rate. In arizona codec, pcm hw rate is set reference to base_rate. If not initialize the base_rate, we can't change pcm rate. So it can makes underrun issues. Signed-off-by: Inha Song --- sound/soc/samsung/tm2_wm5110.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sound/soc/samsung/tm2_wm5110.c b/sound/soc/samsung/tm2_wm5110.c index 4c772299f254..2674ba245d00 100644 --- a/sound/soc/samsung/tm2_wm5110.c +++ b/sound/soc/samsung/tm2_wm5110.c @@ -138,6 +138,11 @@ static void tm2_stop_sysclk(struct snd_soc_card *card) if (ret < 0) dev_err(priv->codec->dev, "Failed to stop FLL: %d\n", ret); + ret = snd_soc_codec_set_sysclk(priv->codec, ARIZONA_CLK_SYSCLK, + ARIZONA_CLK_SRC_FLL1, 0, 0); + if (ret < 0) + dev_err(priv->codec->dev, "Failed to stop SYSCLK: %d\n", ret); + clk_disable_unprepare(priv->codec_mclk1); } -- cgit v1.2.3