On Fri, Oct 27, 2023 at 02:00:13PM +0200, Amadeusz Sławiński wrote: > 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 > @@ -1229,6 +1229,8 @@ static int wsa883x_spkr_event(struct > snd_soc_dapm_widget *w, > snd_soc_component_write_field(component, > WSA883X_VBAT_ADC_FLT_CTL, > > WSA883X_VBAT_ADC_COEF_SEL_MASK, > > 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, > > WSA883X_GLOBAL_PA_EN_MASK, 0); > snd_soc_component_write_field(component, > WSA883X_PDM_WD_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? Since I had the test setup ready, I tried the above quickly but it doesn't seem to make any difference. Johan