]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ASoC: sgtl5000: Fix of unmute outputs on probe
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>
Fri, 19 Jul 2019 10:05:35 +0000 (10:05 +0000)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 18 Oct 2019 08:25:45 +0000 (04:25 -0400)
BugLink: https://bugs.launchpad.net/bugs/1848046
[ Upstream commit 631bc8f0134ae9620d86a96b8c5f9445d91a2dca ]

To enable "zero cross detect" for ADC/HP, change
HP_ZCD_EN/ADC_ZCD_EN bits only instead of writing the whole
CHIP_ANA_CTRL register.

Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/20190719100524.23300-6-oleksandr.suvorov@toradex.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
sound/soc/codecs/sgtl5000.c

index a6a4748c97f9d62f4e76e17f0428d20e837fb061..aad9eca41587efc0eef6e68d1b983f48df7d8990 100644 (file)
@@ -1288,6 +1288,7 @@ 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);
@@ -1315,9 +1316,8 @@ static int sgtl5000_probe(struct snd_soc_component *component)
               0x1f);
        snd_soc_component_write(component, SGTL5000_CHIP_PAD_STRENGTH, reg);
 
-       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_ANA_CTRL,
+               zcd_mask, zcd_mask);
 
        snd_soc_component_update_bits(component, SGTL5000_CHIP_MIC_CTRL,
                        SGTL5000_BIAS_R_MASK,