From: Greg Kroah-Hartman Date: Wed, 22 Nov 2023 16:36:01 +0000 (+0000) Subject: 6.6-stable patches X-Git-Tag: v4.14.331~136 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=04041e314531977a40e99f5243b2c3fbbb238200;p=thirdparty%2Fkernel%2Fstable-queue.git 6.6-stable patches added patches: asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch --- diff --git a/queue-6.6/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch b/queue-6.6/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch new file mode 100644 index 00000000000..d07bf576680 --- /dev/null +++ b/queue-6.6/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 +@@ -1203,9 +1203,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, +@@ -1218,9 +1215,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: +@@ -1346,6 +1340,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.6/series b/queue-6.6/series index c82996cacef..10a23dac8aa 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -259,3 +259,4 @@ kvm-x86-ignore-msr_amd64_tw_cfg-access.patch kvm-x86-clear-bit12-of-icr-after-apic-write-vm-exit.patch kvm-x86-fix-lapic-timer-interrupt-lost-after-loading-a-snapshot.patch mmc-sdhci-pci-gli-gl9755-mask-the-replay-timer-timeout-of-aer.patch +asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch