summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@freescale.com>2016-03-21 10:08:11 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:24:32 +0800
commit4ca32025ddbfa733f5f917cc60af2d0597c13fdf (patch)
tree522618e9f5c4394ebb6f0f1954c3f4cc2ebcbd35 /sound
parentdcc4bb1687f413de35c832b80bfc97514aa61c0f (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>
Diffstat (limited to 'sound')
-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 f14481e11370..e96e8098389e 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);