ASoC: Explicitly clear WM8993 ramp controls on power down
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 14 Dec 2010 11:25:18 +0000 (11:25 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 14 Dec 2010 18:10:39 +0000 (18:10 +0000)
This helps ensure that the ramp logic is reset when powering back up.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/codecs/wm8993.c

index 77b1d441c3d0d9b97555ba994db54ca1e9f9964e..15f34a26debfd0cd71db47f86da389c786181cef 100644 (file)
@@ -1030,6 +1030,12 @@ static int wm8993_set_bias_level(struct snd_soc_codec *codec,
                                    WM8993_VMID_SEL_MASK | WM8993_BIAS_ENA,
                                    0);
 
+               snd_soc_update_bits(codec, WM8993_ANTIPOP2,
+                                   WM8993_STARTUP_BIAS_ENA |
+                                   WM8993_VMID_BUF_ENA |
+                                   WM8993_VMID_RAMP_MASK |
+                                   WM8993_BIAS_SRC, 0);
+
 #ifdef CONFIG_REGULATOR
                /* Post 2.6.34 we will be able to get a callback when
                 * the regulators are disabled which we can use but