diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-17 11:28:59 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-17 11:48:27 -0500 |
commit | 986b2f2c21b308e21160a40359b81370f8fee6ec (patch) | |
tree | e9e1d540d39857a4c53ccb24d73abf1c2578e275 /sound | |
parent | 675c496ba4e751ea5b895c83219e3bb034f648ba (diff) |
ASoC: Wait for WM8993 FLL to stabilise
Ensure the FLL is locked before we return from set_fll().
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/wm8993.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c index 2b40c93601ed..7c7fd925db8d 100644 --- a/sound/soc/codecs/wm8993.c +++ b/sound/soc/codecs/wm8993.c | |||
@@ -444,6 +444,12 @@ static int _wm8993_set_fll(struct snd_soc_codec *codec, int fll_id, int source, | |||
444 | /* Enable the FLL */ | 444 | /* Enable the FLL */ |
445 | snd_soc_write(codec, WM8993_FLL_CONTROL_1, reg1 | WM8993_FLL_ENA); | 445 | snd_soc_write(codec, WM8993_FLL_CONTROL_1, reg1 | WM8993_FLL_ENA); |
446 | 446 | ||
447 | /* Both overestimates */ | ||
448 | if (Fref < 1000000) | ||
449 | msleep(3); | ||
450 | else | ||
451 | msleep(1); | ||
452 | |||
447 | dev_dbg(codec->dev, "FLL enabled at %dHz->%dHz\n", Fref, Fout); | 453 | dev_dbg(codec->dev, "FLL enabled at %dHz->%dHz\n", Fref, Fout); |
448 | 454 | ||
449 | wm8993->fll_fref = Fref; | 455 | wm8993->fll_fref = Fref; |