diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-04-05 14:19:32 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-04-05 14:19:32 -0400 |
commit | 53a61d967a480307db4c8f7950ddb8bb1a0fda9b (patch) | |
tree | 6b3ce07b14db2986a175f30e6477ed40445c7c17 /sound/soc/codecs/wm8994.c | |
parent | 8876698406147986a9a7748586a54c4b14514c0e (diff) | |
parent | 5f712b2b73a9fc87fcc52124cfe8adefaa0c92f5 (diff) |
Merge branch 'for-2.6.34' into for-2.6.35
Conflicts due to context changes next to the backported DMA data change:
include/sound/soc.h
Diffstat (limited to 'sound/soc/codecs/wm8994.c')
-rw-r--r-- | sound/soc/codecs/wm8994.c | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index fc3dce814924..e00201e0820e 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c | |||
@@ -3015,34 +3015,39 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec, | |||
3015 | break; | 3015 | break; |
3016 | 3016 | ||
3017 | case SND_SOC_BIAS_OFF: | 3017 | case SND_SOC_BIAS_OFF: |
3018 | /* Switch over to startup biases */ | 3018 | if (codec->bias_level == SND_SOC_BIAS_STANDBY) { |
3019 | snd_soc_update_bits(codec, WM8994_ANTIPOP_2, | 3019 | /* Switch over to startup biases */ |
3020 | WM8994_BIAS_SRC | WM8994_STARTUP_BIAS_ENA | | 3020 | snd_soc_update_bits(codec, WM8994_ANTIPOP_2, |
3021 | WM8994_VMID_BUF_ENA | | 3021 | WM8994_BIAS_SRC | |
3022 | WM8994_VMID_RAMP_MASK, | 3022 | WM8994_STARTUP_BIAS_ENA | |
3023 | WM8994_BIAS_SRC | WM8994_STARTUP_BIAS_ENA | | 3023 | WM8994_VMID_BUF_ENA | |
3024 | WM8994_VMID_BUF_ENA | | 3024 | WM8994_VMID_RAMP_MASK, |
3025 | (1 << WM8994_VMID_RAMP_SHIFT)); | 3025 | WM8994_BIAS_SRC | |
3026 | 3026 | WM8994_STARTUP_BIAS_ENA | | |
3027 | /* Disable main biases */ | 3027 | WM8994_VMID_BUF_ENA | |
3028 | snd_soc_update_bits(codec, WM8994_POWER_MANAGEMENT_1, | 3028 | (1 << WM8994_VMID_RAMP_SHIFT)); |
3029 | WM8994_BIAS_ENA | WM8994_VMID_SEL_MASK, 0); | ||
3030 | 3029 | ||
3031 | /* Discharge line */ | 3030 | /* Disable main biases */ |
3032 | snd_soc_update_bits(codec, WM8994_ANTIPOP_1, | 3031 | snd_soc_update_bits(codec, WM8994_POWER_MANAGEMENT_1, |
3033 | WM8994_LINEOUT1_DISCH | | 3032 | WM8994_BIAS_ENA | |
3034 | WM8994_LINEOUT2_DISCH, | 3033 | WM8994_VMID_SEL_MASK, 0); |
3035 | WM8994_LINEOUT1_DISCH | | ||
3036 | WM8994_LINEOUT2_DISCH); | ||
3037 | 3034 | ||
3038 | msleep(5); | 3035 | /* Discharge line */ |
3036 | snd_soc_update_bits(codec, WM8994_ANTIPOP_1, | ||
3037 | WM8994_LINEOUT1_DISCH | | ||
3038 | WM8994_LINEOUT2_DISCH, | ||
3039 | WM8994_LINEOUT1_DISCH | | ||
3040 | WM8994_LINEOUT2_DISCH); | ||
3039 | 3041 | ||
3040 | /* Switch off startup biases */ | 3042 | msleep(5); |
3041 | snd_soc_update_bits(codec, WM8994_ANTIPOP_2, | ||
3042 | WM8994_BIAS_SRC | WM8994_STARTUP_BIAS_ENA | | ||
3043 | WM8994_VMID_BUF_ENA | | ||
3044 | WM8994_VMID_RAMP_MASK, 0); | ||
3045 | 3043 | ||
3044 | /* Switch off startup biases */ | ||
3045 | snd_soc_update_bits(codec, WM8994_ANTIPOP_2, | ||
3046 | WM8994_BIAS_SRC | | ||
3047 | WM8994_STARTUP_BIAS_ENA | | ||
3048 | WM8994_VMID_BUF_ENA | | ||
3049 | WM8994_VMID_RAMP_MASK, 0); | ||
3050 | } | ||
3046 | break; | 3051 | break; |
3047 | } | 3052 | } |
3048 | codec->bias_level = level; | 3053 | codec->bias_level = level; |
@@ -3866,11 +3871,12 @@ static int wm8994_codec_probe(struct platform_device *pdev) | |||
3866 | case 3: | 3871 | case 3: |
3867 | wm8994->hubs.dcs_codes = -5; | 3872 | wm8994->hubs.dcs_codes = -5; |
3868 | wm8994->hubs.hp_startup_mode = 1; | 3873 | wm8994->hubs.hp_startup_mode = 1; |
3874 | wm8994->hubs.dcs_readback_mode = 1; | ||
3869 | break; | 3875 | break; |
3870 | default: | 3876 | default: |
3877 | wm8994->hubs.dcs_readback_mode = 1; | ||
3871 | break; | 3878 | break; |
3872 | } | 3879 | } |
3873 | |||
3874 | 3880 | ||
3875 | ret = wm8994_request_irq(codec->control_data, WM8994_IRQ_MIC1_DET, | 3881 | ret = wm8994_request_irq(codec->control_data, WM8994_IRQ_MIC1_DET, |
3876 | wm8994_mic_irq, "Mic 1 detect", wm8994); | 3882 | wm8994_mic_irq, "Mic 1 detect", wm8994); |