diff mbox series

[RFC] ASoC: soc-dapm: Skip suspending widgets with ignore flag

Message ID 20191009104603.15412-1-srinivas.kandagatla@linaro.org (mailing list archive)
State New, archived
Headers show
Series [RFC] ASoC: soc-dapm: Skip suspending widgets with ignore flag | expand

Commit Message

Srinivas Kandagatla Oct. 9, 2019, 10:46 a.m. UTC
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.

Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 sound/soc/soc-dapm.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Mark Brown Oct. 9, 2019, 4:47 p.m. UTC | #1
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 mbox series

Patch

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)