]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ENGR00256820-1 ASoC: WM8962: revert FLL-disable before FLL-setting
authorNicolin Chen <b42378@freescale.com>
Mon, 1 Apr 2013 09:51:30 +0000 (17:51 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:59 +0000 (08:35 +0200)
  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>
sound/soc/codecs/wm8962.c

index 6e7a5e9e94442e36d786caff7d94330119878ca3..9acae3004c725db71b4eb4fcf13f145e19679564 100644 (file)
@@ -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,