summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8993.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-17 17:28:59 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-17 17:48:27 +0100
commit986b2f2c21b308e21160a40359b81370f8fee6ec (patch)
treee9e1d540d39857a4c53ccb24d73abf1c2578e275 /sound/soc/codecs/wm8993.c
parentASoC: core - Free platform DAPM context at platform removal. (diff)
downloadlinux-986b2f2c21b308e21160a40359b81370f8fee6ec.tar.xz
linux-986b2f2c21b308e21160a40359b81370f8fee6ec.zip
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/soc/codecs/wm8993.c')
-rw-r--r--sound/soc/codecs/wm8993.c6
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,
/* Enable the FLL */
snd_soc_write(codec, WM8993_FLL_CONTROL_1, reg1 | WM8993_FLL_ENA);
+ /* Both overestimates */
+ if (Fref < 1000000)
+ msleep(3);
+ else
+ msleep(1);
+
dev_dbg(codec->dev, "FLL enabled at %dHz->%dHz\n", Fref, Fout);
wm8993->fll_fref = Fref;