[alsa-devel] [PATCH] ASoC: sgtl5000: Revert "ASoC: sgtl5000: Fix of unmute outputs on probe"

Oleksandr Suvorov oleksandr.suvorov at toradex.com
Thu Dec 12 10:10:47 CET 2019


Alison, could you please explain, what reason to revert this fix? All
these blocks have their own control and unmute on demand.
Why do you stand on unconditional unmuting of outputs and ADC on driver probing?

On Thu, Dec 12, 2019 at 9:20 AM Alison Wang <alison.wang at nxp.com> wrote:
>
> This reverts commit 631bc8f0134ae9620d86a96b8c5f9445d91a2dca.
>
> In commit 631bc8f0134a, snd_soc_component_update_bits is used instead of
> snd_soc_component_write. Although EN_HP_ZCD and EN_ADC_ZCD are enabled
> in ANA_CTRL register, MUTE_LO, MUTE_HP and MUTE_ADC bits are remained as
> the default value. It causes LO, HP and ADC are all muted after driver
> probe.
>
> The patch is to revert this commit, snd_soc_component_write is still
> used and MUTE_LO, MUTE_HP and MUTE_ADC are set as zero (unmuted).
>
> Signed-off-by: Alison Wang <alison.wang at nxp.com>
> ---
>  sound/soc/codecs/sgtl5000.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
> index aa1f963..0b35fca 100644
> --- a/sound/soc/codecs/sgtl5000.c
> +++ b/sound/soc/codecs/sgtl5000.c
> @@ -1458,7 +1458,6 @@ static int sgtl5000_probe(struct snd_soc_component *component)
>         int ret;
>         u16 reg;
>         struct sgtl5000_priv *sgtl5000 = snd_soc_component_get_drvdata(component);
> -       unsigned int zcd_mask = SGTL5000_HP_ZCD_EN | SGTL5000_ADC_ZCD_EN;
>
>         /* power up sgtl5000 */
>         ret = sgtl5000_set_power_regs(component);
> @@ -1486,8 +1485,9 @@ static int sgtl5000_probe(struct snd_soc_component *component)
>                0x1f);
>         snd_soc_component_write(component, SGTL5000_CHIP_PAD_STRENGTH, reg);
>
> -       snd_soc_component_update_bits(component, SGTL5000_CHIP_ANA_CTRL,
> -               zcd_mask, zcd_mask);
> +       snd_soc_component_write(component, SGTL5000_CHIP_ANA_CTRL,
> +                       SGTL5000_HP_ZCD_EN |
> +                       SGTL5000_ADC_ZCD_EN);
>
>         snd_soc_component_update_bits(component, SGTL5000_CHIP_MIC_CTRL,
>                         SGTL5000_BIAS_R_MASK,
> --
> 2.9.5
>


-- 
Best regards
Oleksandr Suvorov

Toradex AG
Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500
4800 (main line)


More information about the Alsa-devel mailing list