diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-02-10 18:09:42 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-02-11 23:11:21 +0000 |
commit | d60d6c3b65fa2156ec95d96f73e34cdb0c586458 (patch) | |
tree | 927fecb5b0947117929715993dfa3c2ef20287b9 /sound/soc/codecs/wm_hubs.c | |
parent | 5f2f38904019bbffb107767c55d9e781c94941ef (diff) | |
download | linux-stable-d60d6c3b65fa2156ec95d96f73e34cdb0c586458.tar.gz linux-stable-d60d6c3b65fa2156ec95d96f73e34cdb0c586458.tar.bz2 linux-stable-d60d6c3b65fa2156ec95d96f73e34cdb0c586458.zip |
ASoC: wm_hubs: Clamp inputs to VMID while we ramp
Reduces the amount of time taken to stabilise them.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm_hubs.c')
-rw-r--r-- | sound/soc/codecs/wm_hubs.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c index f7650c5cc5c2..9742c666cd0a 100644 --- a/sound/soc/codecs/wm_hubs.c +++ b/sound/soc/codecs/wm_hubs.c @@ -1040,6 +1040,12 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec, int val; switch (level) { + case SND_SOC_BIAS_STANDBY: + /* Clamp the inputs to VMID while we ramp to charge caps */ + snd_soc_update_bits(codec, WM8993_INPUTS_CLAMP_REG, + WM8993_INPUTS_CLAMP, WM8993_INPUTS_CLAMP); + break; + case SND_SOC_BIAS_ON: /* Turn off any unneded single ended outputs */ val = 0; @@ -1067,6 +1073,10 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec, !hubs->lineout2n_ena && !hubs->lineout2p_ena) snd_soc_update_bits(codec, WM8993_ANTIPOP1, WM8993_LINEOUT_VMID_BUF_ENA, 0); + + /* Remove the input clamps */ + snd_soc_update_bits(codec, WM8993_INPUTS_CLAMP_REG, + WM8993_INPUTS_CLAMP, 0); break; default: |