Re: [PATCH 4/9] ASoC: codecs: lpass-wsa-macro: fix path clock dependencies
From: Srinivas Kandagatla
Date: Wed Nov 19 2025 - 10:34:48 EST
On 11/17/25 5:15 AM, Jonathan Marek wrote:
> "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@xxxxxxxx>
Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
#on T14s
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>
> ---
> sound/soc/codecs/lpass-wsa-macro.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c
> index 06570e474c850..27c8c060cab19 100644
> --- a/sound/soc/codecs/lpass-wsa-macro.c
> +++ b/sound/soc/codecs/lpass-wsa-macro.c
> @@ -2496,10 +2496,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"},
> @@ -2529,6 +2527,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"},
> @@ -2568,6 +2568,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"},