ASoC: Wait for WM8993 FLL to stabilise
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 17 Jan 2012 16:28:59 +0000 (16:28 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 17 Jan 2012 16:48:27 +0000 (16:48 +0000)
Ensure the FLL is locked before we return from set_fll().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm8993.c

index 2b40c93..7c7fd92 100644 (file)
@@ -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;