| From c251ea7bd7a04f1f2575467e0de76e803cf59149 Mon Sep 17 00:00:00 2001 |
| From: Fabio Estevam <fabio.estevam@freescale.com> |
| Date: Fri, 14 Nov 2014 02:14:47 -0200 |
| Subject: ASoC: sgtl5000: Fix SMALL_POP bit definition |
| |
| From: Fabio Estevam <fabio.estevam@freescale.com> |
| |
| commit c251ea7bd7a04f1f2575467e0de76e803cf59149 upstream. |
| |
| On a mx28evk with a sgtl5000 codec we notice a loud 'click' sound to happen |
| 5 seconds after the end of a playback. |
| |
| The SMALL_POP bit should fix this, but its definition is incorrect: |
| according to the sgtl5000 manual it is bit 0 of CHIP_REF_CTRL register, not |
| bit 1. |
| |
| Fix the definition accordingly and enable the bit as intended per the code |
| comment. |
| |
| After applying this change, no loud 'click' sound is heard after playback |
| |
| Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/soc/codecs/sgtl5000.c | 3 +-- |
| sound/soc/codecs/sgtl5000.h | 2 +- |
| 2 files changed, 2 insertions(+), 3 deletions(-) |
| |
| --- a/sound/soc/codecs/sgtl5000.c |
| +++ b/sound/soc/codecs/sgtl5000.c |
| @@ -1369,8 +1369,7 @@ static int sgtl5000_probe(struct snd_soc |
| |
| /* enable small pop, introduce 400ms delay in turning off */ |
| snd_soc_update_bits(codec, SGTL5000_CHIP_REF_CTRL, |
| - SGTL5000_SMALL_POP, |
| - SGTL5000_SMALL_POP); |
| + SGTL5000_SMALL_POP, 1); |
| |
| /* disable short cut detector */ |
| snd_soc_write(codec, SGTL5000_CHIP_SHORT_CTRL, 0); |
| --- a/sound/soc/codecs/sgtl5000.h |
| +++ b/sound/soc/codecs/sgtl5000.h |
| @@ -275,7 +275,7 @@ |
| #define SGTL5000_BIAS_CTRL_MASK 0x000e |
| #define SGTL5000_BIAS_CTRL_SHIFT 1 |
| #define SGTL5000_BIAS_CTRL_WIDTH 3 |
| -#define SGTL5000_SMALL_POP 0x0001 |
| +#define SGTL5000_SMALL_POP 0 |
| |
| /* |
| * SGTL5000_CHIP_MIC_CTRL |