From ffdeb56faa563997b3fcc947bcfd3f9a5fa054b8 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Sat, 11 Feb 2012 23:09:53 +0000 Subject: [PATCH] --- yaml --- r: 293339 b: refs/heads/master c: cc6d5a8c2b8c1a04c91bac0a5be02e64307518eb h: refs/heads/master i: 293337: 3b3281e26f964e1716972203224c24ed529bb185 293335: 214b9542bcfe8e2eeae70b1260b53ab44d4d2239 v: v3 --- [refs] | 2 +- trunk/sound/soc/codecs/wm8994.c | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index e00b37f1fdc0..bf2ec9ee50a5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d60d6c3b65fa2156ec95d96f73e34cdb0c586458 +refs/heads/master: cc6d5a8c2b8c1a04c91bac0a5be02e64307518eb diff --git a/trunk/sound/soc/codecs/wm8994.c b/trunk/sound/soc/codecs/wm8994.c index 21931a0c7cea..aa94ca1f6a9b 100644 --- a/trunk/sound/soc/codecs/wm8994.c +++ b/trunk/sound/soc/codecs/wm8994.c @@ -778,29 +778,37 @@ static void vmid_reference(struct snd_soc_codec *codec) wm8994->vmid_refcount); if (wm8994->vmid_refcount == 1) { + snd_soc_update_bits(codec, WM8994_ANTIPOP_1, + WM8994_LINEOUT_VMID_BUF_ENA | + WM8994_LINEOUT1_DISCH | + WM8994_LINEOUT2_DISCH, + WM8994_LINEOUT_VMID_BUF_ENA); + /* Startup bias, VMID ramp & buffer */ snd_soc_update_bits(codec, WM8994_ANTIPOP_2, + WM8994_BIAS_SRC | + WM8994_VMID_DISCH | WM8994_STARTUP_BIAS_ENA | WM8994_VMID_BUF_ENA | WM8994_VMID_RAMP_MASK, + WM8994_BIAS_SRC | WM8994_STARTUP_BIAS_ENA | WM8994_VMID_BUF_ENA | (0x3 << WM8994_VMID_RAMP_SHIFT)); wm_hubs_vmid_ena(codec); - /* Remove discharge for line out */ - snd_soc_update_bits(codec, WM8994_ANTIPOP_1, - WM8994_LINEOUT1_DISCH | - WM8994_LINEOUT2_DISCH, 0); - /* Main bias enable, VMID=2x40k */ snd_soc_update_bits(codec, WM8994_POWER_MANAGEMENT_1, WM8994_BIAS_ENA | WM8994_VMID_SEL_MASK, WM8994_BIAS_ENA | 0x2); - msleep(20); + msleep(50); + + snd_soc_update_bits(codec, WM8994_ANTIPOP_2, + WM8994_VMID_RAMP_MASK | WM8994_BIAS_SRC, + 0); } }