2019-10-16 13:34:28

by Richard Leitner

[permalink] [raw]
Subject: [PATCH v5.3] ASoC: sgtl5000: add ADC mute control

From: Oleksandr Suvorov <[email protected]>

Upstream commit 631bc8f0134a ("ASoC: sgtl5000: Fix of unmute outputs on
probe"), which is e9f621efaebd in v5.3 replaced snd_soc_component_write
with snd_soc_component_update_bits and therefore no longer cleared the
MUTE_ADC flag. This caused the ADC to stay muted and recording doesn't
work any longer. This patch fixes this problem by adding a Switch control
for MUTE_ADC.

commit 694b14554d75 ("ASoC: sgtl5000: add ADC mute control") upstream

This control mute/unmute the ADC input of SGTL5000
using its CHIP_ANA_CTRL register.

Signed-off-by: Oleksandr Suvorov <[email protected]>
Reviewed-by: Marcel Ziswiler <[email protected]>
Reviewed-by: Igor Opaniuk <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Richard Leitner <[email protected]>
Fixes: e9f621efaebd ("ASoC: sgtl5000: Fix of unmute outputs on probe")
---
sound/soc/codecs/sgtl5000.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 3f28e7862b5b..b65232521ea8 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -720,6 +720,7 @@ static const struct snd_kcontrol_new sgtl5000_snd_controls[] = {
SGTL5000_CHIP_ANA_ADC_CTRL,
8, 1, 0, capture_6db_attenuate),
SOC_SINGLE("Capture ZC Switch", SGTL5000_CHIP_ANA_CTRL, 1, 1, 0),
+ SOC_SINGLE("Capture Switch", SGTL5000_CHIP_ANA_CTRL, 0, 1, 1),

SOC_DOUBLE_TLV("Headphone Playback Volume",
SGTL5000_CHIP_ANA_HP_CTRL,
--
2.21.0


2019-10-17 14:02:18

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH v5.3] ASoC: sgtl5000: add ADC mute control

On Wed, Oct 16, 2019 at 11:13:04AM +0200, Richard Leitner wrote:
> From: Oleksandr Suvorov <[email protected]>
>
> Upstream commit 631bc8f0134a ("ASoC: sgtl5000: Fix of unmute outputs on
> probe"), which is e9f621efaebd in v5.3 replaced snd_soc_component_write
> with snd_soc_component_update_bits and therefore no longer cleared the
> MUTE_ADC flag. This caused the ADC to stay muted and recording doesn't
> work any longer. This patch fixes this problem by adding a Switch control
> for MUTE_ADC.
>
> commit 694b14554d75 ("ASoC: sgtl5000: add ADC mute control") upstream
>
> This control mute/unmute the ADC input of SGTL5000
> using its CHIP_ANA_CTRL register.
>
> Signed-off-by: Oleksandr Suvorov <[email protected]>
> Reviewed-by: Marcel Ziswiler <[email protected]>
> Reviewed-by: Igor Opaniuk <[email protected]>
> Reviewed-by: Fabio Estevam <[email protected]>
> Link: https://lore.kernel.org/r/[email protected]
> Signed-off-by: Mark Brown <[email protected]>
> Signed-off-by: Richard Leitner <[email protected]>
> Fixes: e9f621efaebd ("ASoC: sgtl5000: Fix of unmute outputs on probe")
> ---
> sound/soc/codecs/sgtl5000.c | 1 +
> 1 file changed, 1 insertion(+)

Now applied, thanks.

greg k-h