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.