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

이경택 gt82.lee at samsung.com
Tue Mar 31 08:35:57 CEST 2020


On 3/31/20 7:55 AM, Lars-Peter Clausen wrote:
>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 at samsung.com>
>> ---
>>   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.
Yes, I have virtual mixers with inverted flag.
It is used to create a switch which is connected by default and can be disconnected when user application needs it.
Actually hardware can't be disconnected by virtual switch.
So, connected was better for default value for virtual mixers in my experience.





More information about the Alsa-devel mailing list