[alsa-devel] [PATCH] ASoC: arizona: Don't enable FLL on REFCLK configuration
Charles Keepax
ckeepax at opensource.wolfsonmicro.com
Fri Feb 22 18:10:37 CET 2013
Enabling the FLL when REFCLK is being configured is not what the user
would expect and can cause issues if SYNCCLK has no specified frequency.
Signed-off-by: Charles Keepax <ckeepax at opensource.wolfsonmicro.com>
---
sound/soc/codecs/arizona.c | 15 ++++++---------
1 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index 6837863..eb25ab9 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -1148,17 +1148,17 @@ int arizona_set_fll_refclk(struct arizona_fll *fll, int source,
if (source < 0)
return -EINVAL;
- if (fll->ref_src == source && fll->ref_freq == Fref &&
- fll->fout == Fout)
+ if (fll->ref_src == source && fll->ref_freq == Fref)
return 0;
- if (Fout) {
- ret = arizona_calc_fll(fll, &ref, Fref, Fout);
+ if (fll->fout) {
+ ret = arizona_calc_fll(fll, &ref, Fref, fll->fout);
if (ret != 0)
return ret;
if (fll->sync_src >= 0) {
- ret = arizona_calc_fll(fll, &sync, fll->sync_freq, Fout);
+ ret = arizona_calc_fll(fll, &sync, fll->sync_freq,
+ fll->fout);
if (ret != 0)
return ret;
}
@@ -1166,12 +1166,9 @@ int arizona_set_fll_refclk(struct arizona_fll *fll, int source,
fll->ref_src = source;
fll->ref_freq = Fref;
- fll->fout = Fout;
- if (Fout) {
+ if (fll->fout) {
arizona_enable_fll(fll, &ref, &sync);
- } else {
- arizona_disable_fll(fll);
}
return 0;
--
1.7.2.5
More information about the Alsa-devel
mailing list