[PATCH 1/3] ASoC: dapm: connect virtual mux with default value
이경택
gt82.lee at samsung.com
Tue Mar 31 09:31:47 CEST 2020
On 3/31/20 9:10 AM, Lars-Peter Clausen wrote:
>On 3/31/20 8:35 AM, 이경택 wrote:
>> 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.
>
>It would be good to mention this in the commit message, that the purpose
>of the patch is to allow virtual mixers with a default state of on.
>
>I think you can also simplify the expression to just `p->connect = invert;`
>
Ok. I'll resend this patch with the purpose in commit message, and simplified code.
Thank you for your quick response!
More information about the Alsa-devel
mailing list