aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-02-29 11:40:08 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-03 20:56:47 -0500
commit67109cbea1f92d369849dc88b6c9aca0f66c044e (patch)
treed4bc60a57586d626053263960bebbaa59869b5db /sound/soc
parentb16db745b51a1ecd3fd526a2ff35d61f2962bd7f (diff)
ASoC: wm_hubs: Disable cache of the DC servo calibration for WM1811
The WM1811 DC servo is able to run much faster than previous devices so the benefit of skipping calibration is not useful. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8994.c1
-rw-r--r--sound/soc/codecs/wm_hubs.c2
-rw-r--r--sound/soc/codecs/wm_hubs.h1
3 files changed, 3 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index a567a4d9b5dc..1fef87d6a285 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -3535,6 +3535,7 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
3535 wm8994->hubs.dcs_readback_mode = 2; 3535 wm8994->hubs.dcs_readback_mode = 2;
3536 wm8994->hubs.no_series_update = 1; 3536 wm8994->hubs.no_series_update = 1;
3537 wm8994->hubs.hp_startup_mode = 1; 3537 wm8994->hubs.hp_startup_mode = 1;
3538 wm8994->hubs.no_cache_class_w = true;
3538 3539
3539 switch (wm8994->revision) { 3540 switch (wm8994->revision) {
3540 case 0: 3541 case 0:
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c
index 7cffdd4b70fb..c08d1c2f346f 100644
--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -207,7 +207,7 @@ static void calibrate_dc_servo(struct snd_soc_codec *codec)
207 207
208 /* Save the callibrated offset if we're in class W mode and 208 /* Save the callibrated offset if we're in class W mode and
209 * therefore don't have any analogue signal mixed in. */ 209 * therefore don't have any analogue signal mixed in. */
210 if (hubs->class_w) 210 if (hubs->class_w && !hubs->no_cache_class_w)
211 hubs->class_w_dcs = dcs_cfg; 211 hubs->class_w_dcs = dcs_cfg;
212} 212}
213 213
diff --git a/sound/soc/codecs/wm_hubs.h b/sound/soc/codecs/wm_hubs.h
index 4140905c7381..5705276f4943 100644
--- a/sound/soc/codecs/wm_hubs.h
+++ b/sound/soc/codecs/wm_hubs.h
@@ -30,6 +30,7 @@ struct wm_hubs_data {
30 int series_startup; 30 int series_startup;
31 int no_series_update; 31 int no_series_update;
32 32
33 bool no_cache_class_w;
33 bool class_w; 34 bool class_w;
34 u16 class_w_dcs; 35 u16 class_w_dcs;
35 36