]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ASoC: arizona: FLL freerun only required whilst disabling
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Wed, 9 Jul 2014 16:41:48 +0000 (17:41 +0100)
committerMark Brown <broonie@linaro.org>
Thu, 10 Jul 2014 10:09:16 +0000 (12:09 +0200)
The FLL freerun is only required whilst we disable the FLL not the
entire time the FLL is disabled. This patch moves the FLL freerun
disable from the enable sequence to the disable sequence.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/arizona.c

index a6f09bb0a2e9cf377cad3d59f96f1887ed5c4ad8..7c362cb36b21707243b3c86d92bb2a16653b6639 100644 (file)
@@ -1791,8 +1791,6 @@ static int arizona_enable_fll(struct arizona_fll *fll)
        /* Clear any pending completions */
        try_wait_for_completion(&fll->ok);
 
-       regmap_update_bits_async(arizona->regmap, fll->base + 1,
-                                ARIZONA_FLL1_FREERUN, 0);
        regmap_update_bits_async(arizona->regmap, fll->base + 1,
                                 ARIZONA_FLL1_ENA, ARIZONA_FLL1_ENA);
        if (use_sync)
@@ -1819,6 +1817,8 @@ static void arizona_disable_fll(struct arizona_fll *fll)
                                 ARIZONA_FLL1_ENA, 0, &change);
        regmap_update_bits(arizona->regmap, fll->base + 0x11,
                           ARIZONA_FLL1_SYNC_ENA, 0);
+       regmap_update_bits_async(arizona->regmap, fll->base + 1,
+                                ARIZONA_FLL1_FREERUN, 0);
 
        if (change)
                pm_runtime_put_autosuspend(arizona->dev);