From: Greg Kroah-Hartman Date: Wed, 22 Nov 2023 16:35:31 +0000 (+0000) Subject: 6.1-stable patches X-Git-Tag: v4.14.331~138 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a17357d84c3af2253f7f78d17ab133a17e8f8bef;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch --- diff --git a/queue-6.1/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch b/queue-6.1/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch new file mode 100644 index 00000000000..9ce3e0b6fe4 --- /dev/null +++ b/queue-6.1/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch @@ -0,0 +1,60 @@ +From 805ce81826c896dd3c351a32814b28557f9edf54 Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla +Date: Fri, 27 Oct 2023 11:57:47 +0100 +Subject: ASoC: codecs: wsa883x: make use of new mute_unmute_on_trigger flag + +From: Srinivas Kandagatla + +commit 805ce81826c896dd3c351a32814b28557f9edf54 upstream. + +In the current setup the PA is left unmuted even when the +Soundwire ports are not started streaming. This can lead to click +and pop sounds during start. +There is a same issue in the reverse order where in the PA is +left unmute even after the data stream is stopped, the time +between data stream stopping and port closing is long enough +to accumulate DC on the line resulting in Click/Pop noise +during end of stream. + +making use of new mute_unmute_on_trigger flag is helping a +lot with this Click/Pop issues reported on this Codec + +Signed-off-by: Srinivas Kandagatla +Tested-by: Johan Hovold +Link: https://lore.kernel.org/r/20231027105747.32450-3-srinivas.kandagatla@linaro.org +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + sound/soc/codecs/wsa883x.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +--- a/sound/soc/codecs/wsa883x.c ++++ b/sound/soc/codecs/wsa883x.c +@@ -1207,9 +1207,6 @@ static int wsa883x_spkr_event(struct snd + break; + } + +- snd_soc_component_write_field(component, WSA883X_DRE_CTL_1, +- WSA883X_DRE_GAIN_EN_MASK, +- WSA883X_DRE_GAIN_FROM_CSR); + if (wsa883x->port_enable[WSA883X_PORT_COMP]) + snd_soc_component_write_field(component, WSA883X_DRE_CTL_0, + WSA883X_DRE_OFFSET_MASK, +@@ -1222,9 +1219,6 @@ static int wsa883x_spkr_event(struct snd + snd_soc_component_write_field(component, WSA883X_PDM_WD_CTL, + WSA883X_PDM_EN_MASK, + WSA883X_PDM_ENABLE); +- snd_soc_component_write_field(component, WSA883X_PA_FSM_CTL, +- WSA883X_GLOBAL_PA_EN_MASK, +- WSA883X_GLOBAL_PA_ENABLE); + + break; + case SND_SOC_DAPM_PRE_PMD: +@@ -1349,6 +1343,7 @@ static const struct snd_soc_dai_ops wsa8 + .hw_free = wsa883x_hw_free, + .mute_stream = wsa883x_digital_mute, + .set_stream = wsa883x_set_sdw_stream, ++ .mute_unmute_on_trigger = true, + }; + + static struct snd_soc_dai_driver wsa883x_dais[] = { diff --git a/queue-6.1/series b/queue-6.1/series index 73274026796..2997b873936 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -174,3 +174,4 @@ x86-cpu-hygon-fix-the-cpu-topology-evaluation-for-real.patch kvm-x86-hyper-v-don-t-auto-enable-stimer-on-write-from-user-space.patch kvm-x86-ignore-msr_amd64_tw_cfg-access.patch kvm-x86-clear-bit12-of-icr-after-apic-write-vm-exit.patch +asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch