[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa5c2a85-3098-4e16-95b0-76bb84e577fd@oss.qualcomm.com>
Date: Wed, 19 Nov 2025 15:36:21 +0000
From: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
To: Jonathan Marek <jonathan@...ek.ca>, linux-arm-msm@...r.kernel.org
Cc: Srinivas Kandagatla <srini@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
"open list:QCOM AUDIO (ASoC) DRIVERS" <linux-sound@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/9] ASoC: codecs: lpass-wsa-macro: remove useless gain
read/write sequence
On 11/17/25 5:15 AM, Jonathan Marek wrote:
> Reading and writing the same value to this register does nothing.
>
> Looking at downstream driver it seems there was meant to be an offset added
>
> Signed-off-by: Jonathan Marek <jonathan@...ek.ca>
Tested-by: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
#on T14s
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>> ---
> sound/soc/codecs/lpass-wsa-macro.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c
> index 6e54c1beac8f9..6f16d54aee401 100644
> --- a/sound/soc/codecs/lpass-wsa-macro.c
> +++ b/sound/soc/codecs/lpass-wsa-macro.c
> @@ -1567,17 +1567,14 @@ 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, gain_reg;
> - int val;
> + u16 path_reg;
>
> switch (w->shift) {
> case WSA_MACRO_RX_MIX0:
> path_reg = CDC_WSA_RX0_RX_PATH_MIX_CTL;
> - gain_reg = CDC_WSA_RX0_RX_VOL_MIX_CTL;
> break;
> case WSA_MACRO_RX_MIX1:
> path_reg = CDC_WSA_RX1_RX_PATH_MIX_CTL;
> - gain_reg = CDC_WSA_RX1_RX_VOL_MIX_CTL;
> break;
> default:
> return 0;
> @@ -1585,8 +1582,6 @@ static int wsa_macro_enable_mix_path(struct snd_soc_dapm_widget *w,
>
> switch (event) {
> case SND_SOC_DAPM_POST_PMU:
> - val = snd_soc_component_read(component, gain_reg);
> - snd_soc_component_write(component, gain_reg, val);
> break;
> case SND_SOC_DAPM_POST_PMD:
> snd_soc_component_update_bits(component, path_reg,
> @@ -1931,7 +1926,6 @@ static int wsa_macro_enable_interpolator(struct snd_soc_dapm_widget *w,
> struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
> u16 gain_reg;
> u16 reg;
> - int val;
> struct wsa_macro *wsa = snd_soc_component_get_drvdata(component);
>
> if (w->shift == WSA_MACRO_COMP1) {
> @@ -1971,8 +1965,6 @@ static int wsa_macro_enable_interpolator(struct snd_soc_dapm_widget *w,
> CDC_WSA_RX_PGA_HALF_DB_MASK,
> CDC_WSA_RX_PGA_HALF_DB_ENABLE);
> }
> - val = snd_soc_component_read(component, gain_reg);
> - snd_soc_component_write(component, gain_reg, val);
> wsa_macro_config_ear_spkr_gain(component, wsa,
> event, gain_reg);
> break;
Powered by blists - more mailing lists