summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@freescale.com>2016-03-21 10:08:11 +0800
committerMax Krummenacher <max.krummenacher@toradex.com>2016-06-24 14:46:31 +0200
commit7b4d7707041ce82668d3327d6964b3e0ebe7153d (patch)
tree1261f0bafb9690b6f3a3d8e87563b1a0ca006927
parentd1878f948d1d54b6ed1f3053c9fa5b1933e75e76 (diff)
MLK-12464-1: ASoC: fsl: imx-wm8960: Fix no clock after suspend/resume randomly
After suspend and resume, the wm8960 codec will change the state from BIAS_OFF to BIAS_ON, in this time, the hw_free is called, the PLL will be diabled, and next instance is started in rapid sequence, hw_params is called But PLL is not enabled, because the bias state is not BIAS_ON. As PLL is disabled in BIAS_ON->BIAS_STANDBY, so don't need to disable pll in hw_free of machine driver. Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> (cherry picked from commit 9b6063efd3966266a1a7616c11b818139933497e)
-rw-r--r--sound/soc/fsl/imx-wm8960.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sound/soc/fsl/imx-wm8960.c b/sound/soc/fsl/imx-wm8960.c
index 3154679dde32..d65e7765f077 100644
--- a/sound/soc/fsl/imx-wm8960.c
+++ b/sound/soc/fsl/imx-wm8960.c
@@ -273,9 +273,7 @@ static int imx_hifi_hw_free(struct snd_pcm_substream *substream)
data->is_stream_in_use[tx] = false;
- /* Power down PLL to save power*/
if (data->is_codec_master && !data->is_stream_in_use[!tx]) {
- snd_soc_dai_set_pll(codec_dai, 0, 0, 0, 0);
ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF);
if (ret)
dev_warn(dev, "failed to set codec dai fmt: %d\n", ret);