diff mbox series

[1/3] ASoC: dapm: connect virtual mux with default value

Message ID 012601d60728$b090bc50$11b234f0$@samsung.com (mailing list archive)
State New, archived
Headers show
Series [1/3] ASoC: dapm: connect virtual mux with default value | expand

Commit Message

Gyeongtaek Lee March 31, 2020, 6:50 a.m. UTC
Since a virtual mixer has no backing registers to decide which path to connect, it will try to match with initial value 0.
This is to ensure that the default mixer choice will be correctly powered up during initialization.

Signed-off-by: Gyeongtaek Lee <gt82.lee@samsung.com>
---
 sound/soc/soc-dapm.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

--
2.21.0
diff mbox series

Patch

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 9fb54e6fe254..fc55a0534252 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -802,7 +802,16 @@  static void dapm_set_mixer_path_status(struct snd_soc_dapm_path *p, int i,
 			val = max - val;
 		p->connect = !!val;
 	} else {
-		p->connect = 0;
+		/* since a virtual mixer has no backing registers to
+		 * decide which path to connect, it will try to match
+		 * with initial value 0.  This is to ensure
+		 * that the default mixer choice will be
+		 * correctly powered up during initialization.
+		 */
+		val = 0;
+		if (invert)
+			val = max - val;
+		p->connect = !!val;
 	}
 }