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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/31/20 7:42 AM, 이경택 wrote:
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@xxxxxxxxxxx>
---
  sound/soc/soc-dapm.c | 11 ++++++++++-
  1 file changed, 10 insertions(+), 1 deletion(-)

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;
Do you have virtual mixers that have the inverted flag set and if yes why? Cause otherwise this is exactly the same as before.



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux