forked from Minki/linux
ASoC: dapm: Fix _PRE and _POST events for DAPM performance improvements
Ever since the DAPM performance improvements we've been marking all widgets as not dirty after each DAPM run. Since _PRE and _POST events aren't part of the DAPM graph this has rendered them non-functional, they will never be marked dirty again and thus will never be run again. Fix this by skipping them when marking widgets as not dirty. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
409b78cc17
commit
0ff97ebf08
@ -1598,7 +1598,15 @@ static int dapm_power_widgets(struct snd_soc_dapm_context *dapm, int event)
|
||||
}
|
||||
|
||||
list_for_each_entry(w, &card->widgets, list) {
|
||||
list_del_init(&w->dirty);
|
||||
switch (w->id) {
|
||||
case snd_soc_dapm_pre:
|
||||
case snd_soc_dapm_post:
|
||||
/* These widgets always need to be powered */
|
||||
break;
|
||||
default:
|
||||
list_del_init(&w->dirty);
|
||||
break;
|
||||
}
|
||||
|
||||
if (w->power) {
|
||||
d = w->dapm;
|
||||
|
Loading…
Reference in New Issue
Block a user