Re: [PATCH v2 2/2] ASoC: wm8524: Correct the MUTE setting while power up/down

From: Mark Brown
Date: Wed Mar 01 2023 - 16:07:42 EST


On Mon, Feb 27, 2023 at 05:19:38PM +0800, Chancel Liu wrote:

> wm8524 should be unmuted while power up and muted while power down.

> @@ -75,7 +75,7 @@ static int wm8524_startup(struct snd_pcm_substream *substream,
> SNDRV_PCM_HW_PARAM_RATE,
> &wm8524->rate_constraint);
>
> - gpiod_set_value_cansleep(wm8524->mute, 1);
> + gpiod_set_value_cansleep(wm8524->mute, 0);
>
> return 0;
> }

I *think* the theory with these is that the device should be muted by
default so that any noise during startup is minimised, and only unmuted
when there's an actual audio stream, done in wm8524_mute_stream(). I am
unclear why this default state is set up in startup(), or why we unmute
in shutdown(). It could be that the startup thing is trying to work
around some suspend/resume thing? In any case I'm not sure this helps,
I think really we should just not be managing the GPIO in these
functions at all and setting the default state to be muted when the GPIO
is requested. With this change we'd move the unmute _mute_stream() does
much earlier, meaning that any noise output by the SoC during startup
will get played.

Attachment: signature.asc
Description: PGP signature