summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/arizona.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-03-05 12:07:16 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-03-06 14:32:17 +0800
commit576411be200ee0e0801f1fe57d5e7ee787bb1a90 (patch)
treea8f859ddc3e87237e2a6e9f71c3dea9d22fc0d76 /sound/soc/codecs/arizona.c
parent9a412cdb1ab0ad984b76debfe562cb7a2c815371 (diff)
ASoC: arizona: Increase FLL synchroniser bandwidth for high frequencies
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>
Diffstat (limited to 'sound/soc/codecs/arizona.c')
-rw-r--r--sound/soc/codecs/arizona.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index 0599ff8ea935..e3aee143487e 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -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);