aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8994.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 9685dff44dd8..fe7fbaeb7146 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -2181,26 +2181,9 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
2181 case SND_SOC_BIAS_STANDBY: 2181 case SND_SOC_BIAS_STANDBY:
2182 if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) { 2182 if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
2183 switch (control->type) { 2183 switch (control->type) {
2184 case WM8994:
2185 if (wm8994->revision < 4) {
2186 /* Tweak DC servo and DSP
2187 * configuration for improved
2188 * performance. */
2189 snd_soc_write(codec, 0x102, 0x3);
2190 snd_soc_write(codec, 0x56, 0x3);
2191 snd_soc_write(codec, 0x817, 0);
2192 snd_soc_write(codec, 0x102, 0);
2193 }
2194 break;
2195
2196 case WM8958: 2184 case WM8958:
2197 if (wm8994->revision == 0) { 2185 if (wm8994->revision == 0) {
2198 /* Optimise performance for rev A */ 2186 /* Optimise performance for rev A */
2199 snd_soc_write(codec, 0x102, 0x3);
2200 snd_soc_write(codec, 0xcb, 0x81);
2201 snd_soc_write(codec, 0x817, 0);
2202 snd_soc_write(codec, 0x102, 0);
2203
2204 snd_soc_update_bits(codec, 2187 snd_soc_update_bits(codec,
2205 WM8958_CHARGE_PUMP_2, 2188 WM8958_CHARGE_PUMP_2,
2206 WM8958_CP_DISCH, 2189 WM8958_CP_DISCH,
@@ -2208,13 +2191,7 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
2208 } 2191 }
2209 break; 2192 break;
2210 2193
2211 case WM1811: 2194 default:
2212 if (wm8994->revision < 2) {
2213 snd_soc_write(codec, 0x102, 0x3);
2214 snd_soc_write(codec, 0x5d, 0x7e);
2215 snd_soc_write(codec, 0x5e, 0x0);
2216 snd_soc_write(codec, 0x102, 0x0);
2217 }
2218 break; 2195 break;
2219 } 2196 }
2220 2197