Re: [RFC PATCH 0/2] ASoC: soc-dai: add flag to mute and unmute stream during trigger.

From: Mark Brown
Date: Fri Oct 27 2023 - 11:32:49 EST


On Fri, Oct 27, 2023 at 02:00:13PM +0200, Amadeusz Sławiński wrote:
> On 10/27/2023 12:57 PM, Srinivas Kandagatla wrote:

> > Click/Pop Noise was a long pending issue with WSA Codecs which are prone
> > to accumlate DC when ports are active but without any data streams.
> > There are multiple places in the current setup, where this could happen
> > in both startup as well as shutdown path.

> Have you tried something like:
> diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c
> index e40d583a1ce6..f02362cf95dc 100644
> --- a/sound/soc/codecs/wsa883x.c
> +++ b/sound/soc/codecs/wsa883x.c

...

> WSA883X_VBAT_ADC_COEF_F_1DIV2);
> + snd_soc_component_write_field(component, WSA883X_DRE_CTL_1,
> + WSA883X_DRE_GAIN_EN_MASK, 0);
> snd_soc_component_write_field(component, WSA883X_PA_FSM_CTL,

...

> As it is one thing from wsa883x_digital_mute() which seems missing in
> SND_SOC_DAPM_PRE_PMD switch case, so it seems to leave GAIN always enabled?
>
> Anyway this seems like something that if possible should be fixed on codec
> driver side instead of introducing global flag?

If the issue is that the device misbehaves as soon as the incoming data
stream stops then we need to do something strictly before we do the
actual trigger operation which we don't currently have hooks for. Even
if we run quickly after the trigger there's going to be a window where
there's no incoming audio and no mute.

Attachment: signature.asc
Description: PGP signature