Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: codecs: lpass-wsa-macro: remove main path event

The event enables the main path clock when the mux is set to DEC0/DEC1.
My patch ("ASoC: codecs: lpass-wsa-macro: fix path clock dependencies")
makes it depend on the main path clock, so this event is now redundant.

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-6-jonathan@marek.ca
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Jonathan Marek and committed by
Mark Brown
7ec95f46 da49a21b

+2 -57
+2 -57
sound/soc/codecs/lpass-wsa-macro.c
··· 1726 1726 return 0; 1727 1727 } 1728 1728 1729 - static bool wsa_macro_adie_lb(struct snd_soc_component *component, 1730 - int interp_idx) 1731 - { 1732 - struct wsa_macro *wsa = snd_soc_component_get_drvdata(component); 1733 - u16 int_mux_cfg0, int_mux_cfg1; 1734 - u8 int_n_inp0, int_n_inp1, int_n_inp2; 1735 - 1736 - int_mux_cfg0 = CDC_WSA_RX_INP_MUX_RX_INT0_CFG0 + interp_idx * 8; 1737 - int_mux_cfg1 = int_mux_cfg0 + 4; 1738 - 1739 - int_n_inp0 = snd_soc_component_read_field(component, int_mux_cfg0, 1740 - wsa->reg_layout->rx_intx_1_mix_inp0_sel_mask); 1741 - if (int_n_inp0 == INTn_1_INP_SEL_DEC0 || 1742 - int_n_inp0 == INTn_1_INP_SEL_DEC1) 1743 - return true; 1744 - 1745 - int_n_inp1 = snd_soc_component_read_field(component, int_mux_cfg0, 1746 - wsa->reg_layout->rx_intx_1_mix_inp1_sel_mask); 1747 - if (int_n_inp1 == INTn_1_INP_SEL_DEC0 || 1748 - int_n_inp1 == INTn_1_INP_SEL_DEC1) 1749 - return true; 1750 - 1751 - int_n_inp2 = snd_soc_component_read_field(component, int_mux_cfg1, 1752 - wsa->reg_layout->rx_intx_1_mix_inp2_sel_mask); 1753 - if (int_n_inp2 == INTn_1_INP_SEL_DEC0 || 1754 - int_n_inp2 == INTn_1_INP_SEL_DEC1) 1755 - return true; 1756 - 1757 - return false; 1758 - } 1759 - 1760 - static int wsa_macro_enable_main_path(struct snd_soc_dapm_widget *w, 1761 - struct snd_kcontrol *kcontrol, 1762 - int event) 1763 - { 1764 - struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); 1765 - u16 reg; 1766 - 1767 - reg = CDC_WSA_RX0_RX_PATH_CTL + WSA_MACRO_RX_PATH_OFFSET * w->shift; 1768 - switch (event) { 1769 - case SND_SOC_DAPM_PRE_PMU: 1770 - if (wsa_macro_adie_lb(component, w->shift)) { 1771 - snd_soc_component_update_bits(component, reg, 1772 - CDC_WSA_RX_PATH_CLK_EN_MASK, 1773 - CDC_WSA_RX_PATH_CLK_ENABLE); 1774 - } 1775 - break; 1776 - default: 1777 - break; 1778 - } 1779 - return 0; 1780 - } 1781 - 1782 1729 static int wsa_macro_interp_get_primary_reg(u16 reg, u16 *ind) 1783 1730 { 1784 1731 u16 prim_int_reg = 0; ··· 2340 2393 SND_SOC_DAPM_MIXER("WSA RX_MIX0", SND_SOC_NOPM, 0, 0, NULL, 0), 2341 2394 SND_SOC_DAPM_MIXER("WSA RX_MIX1", SND_SOC_NOPM, 0, 0, NULL, 0), 2342 2395 2343 - SND_SOC_DAPM_MIXER_E("WSA_RX INT0 MIX", SND_SOC_NOPM, 0, 0, NULL, 0, 2344 - wsa_macro_enable_main_path, SND_SOC_DAPM_PRE_PMU), 2345 - SND_SOC_DAPM_MIXER_E("WSA_RX INT1 MIX", SND_SOC_NOPM, 1, 0, NULL, 0, 2346 - wsa_macro_enable_main_path, SND_SOC_DAPM_PRE_PMU), 2396 + SND_SOC_DAPM_MIXER("WSA_RX INT0 MIX", SND_SOC_NOPM, 0, 0, NULL, 0), 2397 + SND_SOC_DAPM_MIXER("WSA_RX INT1 MIX", SND_SOC_NOPM, 0, 0, NULL, 0), 2347 2398 2348 2399 SND_SOC_DAPM_MIXER("WSA_RX INT0 SEC MIX", SND_SOC_NOPM, 0, 0, NULL, 0), 2349 2400 SND_SOC_DAPM_MIXER("WSA_RX INT1 SEC MIX", SND_SOC_NOPM, 0, 0, NULL, 0),