diff options
author | Nicolin Chen <b42378@freescale.com> | 2013-04-01 17:51:30 +0800 |
---|---|---|
committer | Nicolin Chen <b42378@freescale.com> | 2013-04-01 18:21:47 +0800 |
commit | 1151a5a99e807caedfd98118922b9ab38651d4ea (patch) | |
tree | b3b132c85ac5d332e130408b84e2570672822a66 /sound/soc | |
parent | 84e470f29aebad1ebb870e76fe920b1c537351e7 (diff) |
ENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-setting
The patch at the commit 30293bc6 dropped FLL-disabling code from wm8962
driver, which was a work around for CR 00209905. Since we fixed the issue in
a better way(commit 018958f4), we don't need the work around any more.
And in wm8962's datasheet, Wolfson suggests that driver should disable and
re-enable the FLL after the other registers're updated. So it's better for us
to revert the code to prevent some potential issue.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm8962.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 6e7a5e9e9444..9acae3004c72 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -3461,6 +3461,9 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, if (fll_div.theta || fll_div.lambda) fll1 |= WM8962_FLL_FRAC; + /* Stop the FLL while we reconfigure */ + snd_soc_update_bits(codec, WM8962_FLL_CONTROL_1, WM8962_FLL_ENA, 0); + snd_soc_update_bits(codec, WM8962_FLL_CONTROL_2, WM8962_FLL_OUTDIV_MASK | WM8962_FLL_REFCLK_DIV_MASK, |