| From 3bbbb7728fc853d71dbce4073fef9f281fbfb4dd Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?=EC=9D=B4=EA=B2=BD=ED=83=9D?= <gt82.lee@samsung.com> |
| Date: Tue, 31 Mar 2020 16:55:16 +0900 |
| Subject: ASoC: dapm: connect virtual mux with default value |
| |
| From: 이경택 <gt82.lee@samsung.com> |
| |
| commit 3bbbb7728fc853d71dbce4073fef9f281fbfb4dd upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/soc/soc-dapm.c | 8 +++++++- |
| 1 file changed, 7 insertions(+), 1 deletion(-) |
| |
| --- a/sound/soc/soc-dapm.c |
| +++ b/sound/soc/soc-dapm.c |
| @@ -802,7 +802,13 @@ static void dapm_set_mixer_path_status(s |
| 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; |
| } |
| } |
| |