aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorEric Millbrandt <emillbrandt@dekaresearch.com>2012-11-02 17:05:44 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-26 11:34:34 -0800
commitdd5df62c48044800a9a1e0d783b024f3c6654548 (patch)
treeef1dd00a75d0bcb180820072dd2f223c27b6bba6 /sound
parent174aad546c3a40d117360a5bfce9c0a15e212a77 (diff)
downloadkernel_samsung_smdk4412-dd5df62c48044800a9a1e0d783b024f3c6654548.zip
kernel_samsung_smdk4412-dd5df62c48044800a9a1e0d783b024f3c6654548.tar.gz
kernel_samsung_smdk4412-dd5df62c48044800a9a1e0d783b024f3c6654548.tar.bz2
ASoC: wm8978: pll incorrectly configured when codec is master
commit 55c6f4cb6ef49afbb86222c6a3ff85329199c729 upstream. When MCLK is supplied externally and BCLK and LRC are configured as outputs (codec is master), the PLL values are only calculated correctly on the first transmission. On subsequent transmissions, at differenct sample rates, the wrong PLL values are used. Test for f_opclk instead of f_pllout to determine if the PLL values are needed. Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8978.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8978.c b/sound/soc/codecs/wm8978.c
index 85e3e63..e0368d5 100644
--- a/sound/soc/codecs/wm8978.c
+++ b/sound/soc/codecs/wm8978.c
@@ -750,7 +750,7 @@ static int wm8978_hw_params(struct snd_pcm_substream *substream,
wm8978->mclk_idx = -1;
f_sel = wm8978->f_mclk;
} else {
- if (!wm8978->f_pllout) {
+ if (!wm8978->f_opclk) {
/* We only enter here, if OPCLK is not used */
int ret = wm8978_configure_pll(codec);
if (ret < 0)