提交 1cbe4bca 编写于 作者: M Mark Brown

ASoC: arizona: Suppress noop FLL updates

Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 ba6b047a
...@@ -937,6 +937,9 @@ int arizona_set_fll(struct arizona_fll *fll, int source, ...@@ -937,6 +937,9 @@ int arizona_set_fll(struct arizona_fll *fll, int source,
bool ena; bool ena;
int ret; int ret;
if (fll->fref == Fref && fll->fout == Fout)
return 0;
ret = regmap_read(arizona->regmap, fll->base + 1, &reg); ret = regmap_read(arizona->regmap, fll->base + 1, &reg);
if (ret != 0) { if (ret != 0) {
arizona_fll_err(fll, "Failed to read current state: %d\n", arizona_fll_err(fll, "Failed to read current state: %d\n",
...@@ -1014,6 +1017,9 @@ int arizona_set_fll(struct arizona_fll *fll, int source, ...@@ -1014,6 +1017,9 @@ int arizona_set_fll(struct arizona_fll *fll, int source,
if (ret == 0) if (ret == 0)
arizona_fll_warn(fll, "Timed out waiting for lock\n"); arizona_fll_warn(fll, "Timed out waiting for lock\n");
fll->fref = Fref;
fll->fout = Fout;
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(arizona_set_fll); EXPORT_SYMBOL_GPL(arizona_set_fll);
......
...@@ -191,6 +191,8 @@ struct arizona_fll { ...@@ -191,6 +191,8 @@ struct arizona_fll {
unsigned int vco_mult; unsigned int vco_mult;
struct completion lock; struct completion lock;
struct completion ok; struct completion ok;
unsigned int fref;
unsigned int fout;
char lock_name[ARIZONA_FLL_NAME_LEN]; char lock_name[ARIZONA_FLL_NAME_LEN];
char clock_ok_name[ARIZONA_FLL_NAME_LEN]; char clock_ok_name[ARIZONA_FLL_NAME_LEN];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册