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

Lars-Peter Clausen lars at metafoo.de
Tue Mar 31 07:55:55 CEST 2020


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.


More information about the Alsa-devel mailing list