]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: dapm: connect virtual mux with default value
author이경택 <gt82.lee@samsung.com>
Tue, 31 Mar 2020 07:55:16 +0000 (16:55 +0900)
committerMark Brown <broonie@kernel.org>
Tue, 31 Mar 2020 18:23:55 +0000 (19:23 +0100)
Since a virtual mixer has no backing registers
to decide which path to connect,
it will try to match with initial state.
This is to ensure that the default mixer choice will be
correctly powered up during initialization.
Invert flag is used to select initial state of the virtual switch.
Since actual hardware can't be disconnected by virtual switch,
connected is better choice as initial state in many cases.

Signed-off-by: Gyeongtaek Lee <gt82.lee@samsung.com>
Link: https://lore.kernel.org/r/01a301d60731$b724ea10$256ebe30$@samsung.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-dapm.c

index 04da7928c873d8a0537396c75e6e11b0cfbc959a..679ed60d850ec6e00946c54ecc4c9aece98b1614 100644 (file)
@@ -802,7 +802,13 @@ 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 state.  This is to ensure
+                * that the default mixer choice will be
+                * correctly powered up during initialization.
+                */
+               p->connect = invert;
        }
 }