summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRavindra Lokhande <rlokhande@nvidia.com>2011-02-25 23:53:56 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-03-01 16:16:42 -0800
commit62ca513220bb57d4c37fe30c5dbc3a62d39f338e (patch)
tree6bd75c7ddda14735720bef54f4c8743023ce7a6b
parentea85e0c7a3a8a8b70478befb1fd7c9ff1d69821b (diff)
[tegra alsa] reset vmid and bias for wm8903
reset vimd and bias registers for wm8903 codec when codec bias level is off. fix for bug 773327 Change-Id: If7d46f4210fb70f2bfd47c46cdf834ec7b7b776e Reviewed-on: http://git-master/r/21226 Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> Tested-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
-rw-r--r--sound/soc/codecs/wm8903.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index 88d342ff4101..7acd563d9128 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -988,6 +988,11 @@ static int wm8903_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_OFF:
wm8903_run_sequence(codec, 32);
+
+ snd_soc_write(codec, WM8903_VMID_CONTROL_0, 0x0);
+
+ snd_soc_write(codec, WM8903_BIAS_CONTROL_0, 0x0);
+
reg = snd_soc_read(codec, WM8903_CLOCK_RATES_2);
reg &= ~WM8903_CLK_SYS_ENA;
snd_soc_write(codec, WM8903_CLOCK_RATES_2, reg);