aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-dapm.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-03-03 09:57:09 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-03-05 11:43:05 -0500
commit692247196dd845eef02f26bf2959719b82e935c6 (patch)
tree852b4202b0926d0966935fe54fd6b5d3f36a5f3c /sound/soc/soc-dapm.c
parent1d24452b5536bd5c0c7721887a38d736b885014f (diff)
ASoC: Improve DAPM pop_wait delays
Currently during pop/click debug we're inserting a delay both after every log message we generate and at explicit points in the sequence, slowing things down even further than they need to be especially when many writes get coalesced by the sequence generation code. Remove the per-printk delay and ensure that we have explicit delays where we say we want them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r--sound/soc/soc-dapm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 6c3351095786..86ded22e36af 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -97,7 +97,6 @@ static void pop_dbg(u32 pop_time, const char *fmt, ...)
97 97
98 if (pop_time) { 98 if (pop_time) {
99 vprintk(fmt, args); 99 vprintk(fmt, args);
100 pop_wait(pop_time);
101 } 100 }
102 101
103 va_end(args); 102 va_end(args);
@@ -314,8 +313,8 @@ static int dapm_update_bits(struct snd_soc_dapm_widget *widget)
314 pop_dbg(codec->pop_time, "pop test %s : %s in %d ms\n", 313 pop_dbg(codec->pop_time, "pop test %s : %s in %d ms\n",
315 widget->name, widget->power ? "on" : "off", 314 widget->name, widget->power ? "on" : "off",
316 codec->pop_time); 315 codec->pop_time);
317 snd_soc_write(codec, widget->reg, new);
318 pop_wait(codec->pop_time); 316 pop_wait(codec->pop_time);
317 snd_soc_write(codec, widget->reg, new);
319 } 318 }
320 pr_debug("reg %x old %x new %x change %d\n", widget->reg, 319 pr_debug("reg %x old %x new %x change %d\n", widget->reg,
321 old, new, change); 320 old, new, change);
@@ -1075,6 +1074,7 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
1075 1074
1076 pop_dbg(codec->pop_time, "DAPM sequencing finished, waiting %dms\n", 1075 pop_dbg(codec->pop_time, "DAPM sequencing finished, waiting %dms\n",
1077 codec->pop_time); 1076 codec->pop_time);
1077 pop_wait(codec->pop_time);
1078 1078
1079 return 0; 1079 return 0;
1080} 1080}