From: Jonathan Marek Date: Mon, 17 Nov 2025 05:15:16 +0000 (-0500) Subject: ASoC: codecs: lpass-wsa-macro: fix path clock dependencies X-Git-Tag: v6.19-rc1~156^2~3^2~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ea1b0dbc684191b2e0b5697356a74571ab28155;p=thirdparty%2Fkernel%2Flinux.git 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 Tested-by: Srinivas Kandagatla Reviewed-by: Srinivas Kandagatla Link: https://patch.msgid.link/20251117051523.16462-4-jonathan@marek.ca Signed-off-by: Mark Brown --- diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c index 2e1876b7d66a5..cd36ec59ea2b0 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"},