Re: [PATCH 3/9] ASoC: codecs: lpass-wsa-macro: remove mix path event

From: Srinivas Kandagatla

Date: Wed Nov 19 2025 - 10:35:06 EST




On 11/17/25 5:15 AM, Jonathan Marek wrote:
> All it does it disable the mix path clk bit, but this is already managed by
> the WSA_RX_MIX0_CLK/WSA_RX_MIX1_CLK supplies.
>
> 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 | 46 +++---------------------------
> 1 file changed, 4 insertions(+), 42 deletions(-)
>
> diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c
> index 6f16d54aee401..06570e474c850 100644
> --- a/sound/soc/codecs/lpass-wsa-macro.c
> +++ b/sound/soc/codecs/lpass-wsa-macro.c
> @@ -1563,36 +1563,6 @@ static int wsa_macro_enable_vi_feedback(struct snd_soc_dapm_widget *w,
> return 0;
> }
>
> -static int wsa_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
> - struct snd_kcontrol *kcontrol, int event)
> -{
> - struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
> - u16 path_reg;
> -
> - switch (w->shift) {
> - case WSA_MACRO_RX_MIX0:
> - path_reg = CDC_WSA_RX0_RX_PATH_MIX_CTL;
> - break;
> - case WSA_MACRO_RX_MIX1:
> - path_reg = CDC_WSA_RX1_RX_PATH_MIX_CTL;
> - break;
> - default:
> - return 0;
> - }
> -
> - switch (event) {
> - case SND_SOC_DAPM_POST_PMU:
> - break;
> - case SND_SOC_DAPM_POST_PMD:
> - snd_soc_component_update_bits(component, path_reg,
> - CDC_WSA_RX_PATH_MIX_CLK_EN_MASK,
> - CDC_WSA_RX_PATH_MIX_CLK_DISABLE);
> - break;
> - }
> -
> - return 0;
> -}
> -
> static void wsa_macro_hd2_control(struct snd_soc_component *component,
> u16 reg, int event)
> {
> @@ -2475,30 +2445,22 @@ static const struct snd_soc_dapm_widget wsa_macro_dapm_widgets_v2_1[] = {
> SND_SOC_DAPM_MUX("WSA_RX0 INP0", SND_SOC_NOPM, 0, 0, &rx0_prim_inp0_mux_v2_1),
> SND_SOC_DAPM_MUX("WSA_RX0 INP1", SND_SOC_NOPM, 0, 0, &rx0_prim_inp1_mux_v2_1),
> SND_SOC_DAPM_MUX("WSA_RX0 INP2", SND_SOC_NOPM, 0, 0, &rx0_prim_inp2_mux_v2_1),
> - SND_SOC_DAPM_MUX_E("WSA_RX0 MIX INP", SND_SOC_NOPM, WSA_MACRO_RX_MIX0,
> - 0, &rx0_mix_mux_v2_1, wsa_macro_enable_mix_path,
> - SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
> + SND_SOC_DAPM_MUX("WSA_RX0 MIX INP", SND_SOC_NOPM, 0, 0, &rx0_mix_mux_v2_1),
> SND_SOC_DAPM_MUX("WSA_RX1 INP0", SND_SOC_NOPM, 0, 0, &rx1_prim_inp0_mux_v2_1),
> SND_SOC_DAPM_MUX("WSA_RX1 INP1", SND_SOC_NOPM, 0, 0, &rx1_prim_inp1_mux_v2_1),
> SND_SOC_DAPM_MUX("WSA_RX1 INP2", SND_SOC_NOPM, 0, 0, &rx1_prim_inp2_mux_v2_1),
> - SND_SOC_DAPM_MUX_E("WSA_RX1 MIX INP", SND_SOC_NOPM, WSA_MACRO_RX_MIX1,
> - 0, &rx1_mix_mux_v2_1, wsa_macro_enable_mix_path,
> - SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
> + SND_SOC_DAPM_MUX("WSA_RX1 MIX INP", SND_SOC_NOPM, 0, 0, &rx1_mix_mux_v2_1),
> };
>
> static const struct snd_soc_dapm_widget wsa_macro_dapm_widgets_v2_5[] = {
> SND_SOC_DAPM_MUX("WSA_RX0 INP0", SND_SOC_NOPM, 0, 0, &rx0_prim_inp0_mux_v2_5),
> SND_SOC_DAPM_MUX("WSA_RX0 INP1", SND_SOC_NOPM, 0, 0, &rx0_prim_inp1_mux_v2_5),
> SND_SOC_DAPM_MUX("WSA_RX0 INP2", SND_SOC_NOPM, 0, 0, &rx0_prim_inp2_mux_v2_5),
> - SND_SOC_DAPM_MUX_E("WSA_RX0 MIX INP", SND_SOC_NOPM, WSA_MACRO_RX_MIX0,
> - 0, &rx0_mix_mux_v2_5, wsa_macro_enable_mix_path,
> - SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
> + SND_SOC_DAPM_MUX("WSA_RX0 MIX INP", SND_SOC_NOPM, 0, 0, &rx0_mix_mux_v2_5),
> SND_SOC_DAPM_MUX("WSA_RX1 INP0", SND_SOC_NOPM, 0, 0, &rx1_prim_inp0_mux_v2_5),
> SND_SOC_DAPM_MUX("WSA_RX1 INP1", SND_SOC_NOPM, 0, 0, &rx1_prim_inp1_mux_v2_5),
> SND_SOC_DAPM_MUX("WSA_RX1 INP2", SND_SOC_NOPM, 0, 0, &rx1_prim_inp2_mux_v2_5),
> - SND_SOC_DAPM_MUX_E("WSA_RX1 MIX INP", SND_SOC_NOPM, WSA_MACRO_RX_MIX1,
> - 0, &rx1_mix_mux_v2_5, wsa_macro_enable_mix_path,
> - SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
> + SND_SOC_DAPM_MUX("WSA_RX1 MIX INP", SND_SOC_NOPM, 0, 0, &rx1_mix_mux_v2_5),
> };
>
> static const struct snd_soc_dapm_route wsa_audio_map[] = {