summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Marek <jonathan@marek.ca>2025-11-17 00:15:16 -0500
committerMark Brown <broonie@kernel.org>2025-11-20 00:11:00 +0000
commit3ea1b0dbc684191b2e0b5697356a74571ab28155 (patch)
tree1ae39df67433ead41c89a2b29bd7aa03bace92fb
parentc47f28ef62cb03de1e5a97844a90eda0415da233 (diff)
ASoC: codecs: lpass-wsa-macro: fix path clock dependencies
"WSA_RX0_CLK",etc. are path clocks, but "WSA RX0",etc. are ports, and there isn't a correspondence between the ports and paths. For example "WSA RX0" port could be used by the "RX1 MIX" path. The problem becomes obvious when RX4,etc. ports are added. Enabling the path clocks should depend on the path being enabled. With this fix, the main path clock will be enabled whenever the path is active: previously using the mix ports only would only activate the mix path clock and no audio would play. Signed-off-by: Jonathan Marek <jonathan@marek.ca> Tested-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Link: https://patch.msgid.link/20251117051523.16462-4-jonathan@marek.ca Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/lpass-wsa-macro.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c
index 2e1876b7d66a..cd36ec59ea2b 100644
--- a/sound/soc/codecs/lpass-wsa-macro.c
+++ b/sound/soc/codecs/lpass-wsa-macro.c
@@ -2494,10 +2494,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
{"WSA RX_MIX0", NULL, "WSA RX_MIX0 MUX"},
{"WSA RX_MIX1", NULL, "WSA RX_MIX1 MUX"},
- {"WSA RX0", NULL, "WSA_RX0_CLK"},
- {"WSA RX1", NULL, "WSA_RX1_CLK"},
- {"WSA RX_MIX0", NULL, "WSA_RX_MIX0_CLK"},
- {"WSA RX_MIX1", NULL, "WSA_RX_MIX1_CLK"},
+ {"WSA_RX INT0 MIX", NULL, "WSA_RX0_CLK"},
+ {"WSA_RX INT1 MIX", NULL, "WSA_RX1_CLK"},
{"WSA_RX0 INP0", "RX0", "WSA RX0"},
{"WSA_RX0 INP0", "RX1", "WSA RX1"},
@@ -2527,6 +2525,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
{"WSA_RX0 MIX INP", "RX1", "WSA RX1"},
{"WSA_RX0 MIX INP", "RX_MIX0", "WSA RX_MIX0"},
{"WSA_RX0 MIX INP", "RX_MIX1", "WSA RX_MIX1"},
+ {"WSA_RX0 MIX INP", NULL, "WSA_RX0_CLK"},
+ {"WSA_RX0 MIX INP", NULL, "WSA_RX_MIX0_CLK"},
{"WSA_RX INT0 SEC MIX", NULL, "WSA_RX0 MIX INP"},
{"WSA_RX INT0 SEC MIX", NULL, "WSA_RX INT0 MIX"},
@@ -2566,6 +2566,8 @@ static const struct snd_soc_dapm_route wsa_audio_map[] = {
{"WSA_RX1 MIX INP", "RX1", "WSA RX1"},
{"WSA_RX1 MIX INP", "RX_MIX0", "WSA RX_MIX0"},
{"WSA_RX1 MIX INP", "RX_MIX1", "WSA RX_MIX1"},
+ {"WSA_RX1 MIX INP", NULL, "WSA_RX1_CLK"},
+ {"WSA_RX1 MIX INP", NULL, "WSA_RX_MIX1_CLK"},
{"WSA_RX INT1 SEC MIX", NULL, "WSA_RX1 MIX INP"},
{"WSA_RX INT1 SEC MIX", NULL, "WSA_RX INT1 MIX"},