ASoC: arizona: Increase FLL synchroniser bandwidth for high frequencies
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 5 Mar 2013 04:07:16 +0000 (12:07 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 6 Mar 2013 06:32:17 +0000 (14:32 +0800)
If we are using a high freqency SYNCCLK then increasing the bandwidth of
the synchroniser improves performance.

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

index 0599ff8..e3aee14 100644 (file)
@@ -1157,6 +1157,17 @@ static void arizona_enable_fll(struct arizona_fll *fll,
                return;
        }
 
+       /*
+        * Increase the bandwidth if we're not using a low frequency
+        * sync source.
+        */
+       if (fll->sync_src >= 0 && fll->sync_freq > 100000)
+               regmap_update_bits(arizona->regmap, fll->base + 0x17,
+                                  ARIZONA_FLL1_SYNC_BW, 0);
+       else
+               regmap_update_bits(arizona->regmap, fll->base + 0x17,
+                                  ARIZONA_FLL1_SYNC_BW, ARIZONA_FLL1_SYNC_BW);
+
        if (!arizona_is_enabled_fll(fll))
                pm_runtime_get(arizona->dev);