From b092e6566fa3360d2f2d9bf731b4ef157bc63052 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Tue, 1 Nov 2011 15:19:23 +0000 Subject: [PATCH] --- yaml --- r: 283674 b: refs/heads/master c: 2a761cde31fddfe5e22f29bc5e241d597204e095 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/soc/codecs/wm8962.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index e6a59a607523..f1efd2ee4cff 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3ff51c859f086036710b375eb70a84f2efda97f9 +refs/heads/master: 2a761cde31fddfe5e22f29bc5e241d597204e095 diff --git a/trunk/sound/soc/codecs/wm8962.c b/trunk/sound/soc/codecs/wm8962.c index f60dfa16545e..74ed8831990e 100644 --- a/trunk/sound/soc/codecs/wm8962.c +++ b/trunk/sound/soc/codecs/wm8962.c @@ -3394,6 +3394,7 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, unsigned long timeout; int ret; int fll1 = snd_soc_read(codec, WM8962_FLL_CONTROL_1) & WM8962_FLL_ENA; + int sysclk = snd_soc_read(codec, WM8962_CLOCKING2) & WM8962_SYSCLK_ENA; /* Any change? */ if (source == wm8962->fll_src && Fref == wm8962->fll_fref && @@ -3454,6 +3455,9 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, try_wait_for_completion(&wm8962->fll_lock); + if (sysclk) + fll1 |= WM8962_FLL_ENA; + snd_soc_update_bits(codec, WM8962_FLL_CONTROL_1, WM8962_FLL_FRAC | WM8962_FLL_REFCLK_SRC_MASK | WM8962_FLL_ENA, fll1);