diff options
author | Richard Fitzgerald <rf@opensource.wolfsonmicro.com> | 2013-11-20 09:37:09 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-11-20 10:20:01 -0500 |
commit | 3e68ce1bc72e5d6615677ec5a8b0a9bcb6c7a490 (patch) | |
tree | 5113a746ead998e0dff04b726f183b35ccb7e184 /sound | |
parent | f69f86b1ba6493126a7f093a65a8952bcb183de2 (diff) |
ASoC: arizona: Set FLL to free-run before disabling
The FLL must be placed into free-run mode before disabling
to allow it to entirely shut down.
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/arizona.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c index 6f05b17d1965..fea991031be1 100644 --- a/sound/soc/codecs/arizona.c +++ b/sound/soc/codecs/arizona.c | |||
@@ -1529,6 +1529,8 @@ static void arizona_enable_fll(struct arizona_fll *fll, | |||
1529 | try_wait_for_completion(&fll->ok); | 1529 | try_wait_for_completion(&fll->ok); |
1530 | 1530 | ||
1531 | regmap_update_bits(arizona->regmap, fll->base + 1, | 1531 | regmap_update_bits(arizona->regmap, fll->base + 1, |
1532 | ARIZONA_FLL1_FREERUN, 0); | ||
1533 | regmap_update_bits(arizona->regmap, fll->base + 1, | ||
1532 | ARIZONA_FLL1_ENA, ARIZONA_FLL1_ENA); | 1534 | ARIZONA_FLL1_ENA, ARIZONA_FLL1_ENA); |
1533 | if (use_sync) | 1535 | if (use_sync) |
1534 | regmap_update_bits(arizona->regmap, fll->base + 0x11, | 1536 | regmap_update_bits(arizona->regmap, fll->base + 0x11, |
@@ -1546,6 +1548,8 @@ static void arizona_disable_fll(struct arizona_fll *fll) | |||
1546 | struct arizona *arizona = fll->arizona; | 1548 | struct arizona *arizona = fll->arizona; |
1547 | bool change; | 1549 | bool change; |
1548 | 1550 | ||
1551 | regmap_update_bits(arizona->regmap, fll->base + 1, | ||
1552 | ARIZONA_FLL1_FREERUN, ARIZONA_FLL1_FREERUN); | ||
1549 | regmap_update_bits_check(arizona->regmap, fll->base + 1, | 1553 | regmap_update_bits_check(arizona->regmap, fll->base + 1, |
1550 | ARIZONA_FLL1_ENA, 0, &change); | 1554 | ARIZONA_FLL1_ENA, 0, &change); |
1551 | regmap_update_bits(arizona->regmap, fll->base + 0x11, | 1555 | regmap_update_bits(arizona->regmap, fll->base + 0x11, |