From 33f7a134020b03cddce77fd87dda79255e7be39f Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Sun, 7 Jun 2009 13:37:44 +0100 Subject: [PATCH] --- yaml --- r: 157503 b: refs/heads/master c: 4f1c1923851f9734c972812121e80a3b04ab3af4 h: refs/heads/master i: 157501: 0e43a449b4e6dcde2d8811443f25289e598646d2 157499: 25cecd9a5ad8d15028c3c128105f03ace28f770f 157495: c722ed6432e0a4f4c9916838c6267c9e1b66918d 157487: 9ba82d05634f67f4f15941b631af8196b9c8e36c 157471: 0494513f7c5e33b8e96e998df4b23cde06aa7c35 157439: e056bfb3e959675cc1436b89f56eafcca16e5383 v: v3 --- [refs] | 2 +- trunk/sound/soc/soc-dapm.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index be7da0f1f583..45c82331eb07 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 81628103dd8527d99ea39b054a3f002d5859d7c3 +refs/heads/master: 4f1c1923851f9734c972812121e80a3b04ab3af4 diff --git a/trunk/sound/soc/soc-dapm.c b/trunk/sound/soc/soc-dapm.c index 3fc791c28aa8..7299ce405b2d 100644 --- a/trunk/sound/soc/soc-dapm.c +++ b/trunk/sound/soc/soc-dapm.c @@ -786,6 +786,10 @@ static void dapm_seq_run_coalesced(struct snd_soc_codec *codec, pr_err("%s: pre event failed: %d\n", w->name, ret); } + + /* Lower PGA volume to reduce pops */ + if (w->id == snd_soc_dapm_pga && !w->power) + dapm_set_pga(w, w->power); } if (reg >= 0) { @@ -797,6 +801,10 @@ static void dapm_seq_run_coalesced(struct snd_soc_codec *codec, } list_for_each_entry(w, pending, power_list) { + /* Raise PGA volume to reduce pops */ + if (w->id == snd_soc_dapm_pga && w->power) + dapm_set_pga(w, w->power); + /* power up post event */ if (w->power && w->event && (w->event_flags & SND_SOC_DAPM_POST_PMU)) { @@ -886,8 +894,6 @@ static void dapm_seq_run(struct snd_soc_codec *codec, struct list_head *list, case snd_soc_dapm_line: case snd_soc_dapm_spk: /* No register support currently */ - case snd_soc_dapm_pga: - /* Don't coalsece these yet due to gain ramping */ ret = dapm_generic_apply_power(w); break;