Message ID | 20191009104603.15412-1-srinivas.kandagatla@linaro.org |
---|---|
State | New |
Headers | show |
Series | [RFC] ASoC: soc-dapm: Skip suspending widgets with ignore flag | expand |
On Wed, Oct 09, 2019 at 11:46:03AM +0100, Srinivas Kandagatla wrote: > From: Sudheer Papothi <spapothi@codeaurora.org> > > For wigdets which have set the suspend ignore flag asoc framework > shouldn't mark them as dirty when ASoC suspend function is called. > This change adds check to skip suspending the widgets with the flag set. Why? The goal here is to ensure we revalidate everything on resume, and flow any changes out. It doesn't actually result in changes in state on these widgets if they're still powered on.
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 13544f7c850b..4ecfd32e59b8 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -303,6 +303,8 @@ void dapm_mark_endpoints_dirty(struct snd_soc_card *card) mutex_lock(&card->dapm_mutex); list_for_each_entry(w, &card->widgets, list) { + if (w->ignore_suspend) + continue; if (w->is_ep) { dapm_mark_dirty(w, "Rechecking endpoints"); if (w->is_ep & SND_SOC_DAPM_EP_SINK)