]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.5-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Nov 2023 16:35:52 +0000 (16:35 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Nov 2023 16:35:52 +0000 (16:35 +0000)
added patches:
asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch

queue-6.5/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch [new file with mode: 0644]
queue-6.5/series

diff --git a/queue-6.5/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch b/queue-6.5/asoc-codecs-wsa883x-make-use-of-new-mute_unmute_on_trigger-flag.patch
new file mode 100644 (file)
index 0000000..d07bf57
--- /dev/null
@@ -0,0 +1,60 @@
+From 805ce81826c896dd3c351a32814b28557f9edf54 Mon Sep 17 00:00:00 2001
+From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+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 <srinivas.kandagatla@linaro.org>
+
+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 <srinivas.kandagatla@linaro.org>
+Tested-by: Johan Hovold <johan+linaro@kernel.org>
+Link: https://lore.kernel.org/r/20231027105747.32450-3-srinivas.kandagatla@linaro.org
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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[] = {
index 214eceadacea55ea1c3ac8d6de5e5a02dba05727..61a61449a6ac827eacdf6c3133f4350171053eaf 100644 (file)
@@ -244,3 +244,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