From 5f2f38904019bbffb107767c55d9e781c94941ef Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Wed, 8 Feb 2012 18:51:42 +0000 Subject: ASoC: wm_hubs: Improve single ended line output enable performance The enable of the single ended line outputs on wm_hubs devices performs better if the output is enabled prior to starting VMID. Since inactive outputs are held at VMID anyway there is little cost to doing this for unused outputs. Add callbacks into wm_hubs and keep track of which outputs are really active so we can disable them once we're active. Signed-off-by: Mark Brown --- sound/soc/codecs/wm_hubs.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'sound/soc/codecs/wm_hubs.h') diff --git a/sound/soc/codecs/wm_hubs.h b/sound/soc/codecs/wm_hubs.h index c674c7a502a6..4140905c7381 100644 --- a/sound/soc/codecs/wm_hubs.h +++ b/sound/soc/codecs/wm_hubs.h @@ -33,6 +33,14 @@ struct wm_hubs_data { bool class_w; u16 class_w_dcs; + bool lineout1_se; + bool lineout1n_ena; + bool lineout1p_ena; + + bool lineout2_se; + bool lineout2n_ena; + bool lineout2p_ena; + bool dcs_done_irq; struct completion dcs_done; }; @@ -46,5 +54,8 @@ extern int wm_hubs_handle_analogue_pdata(struct snd_soc_codec *, int micbias1_lvl, int micbias2_lvl); extern irqreturn_t wm_hubs_dcs_done(int irq, void *data); +extern void wm_hubs_vmid_ena(struct snd_soc_codec *codec); +extern void wm_hubs_set_bias_level(struct snd_soc_codec *codec, + enum snd_soc_bias_level level); #endif -- cgit v1.2.1 From 67109cbea1f92d369849dc88b6c9aca0f66c044e Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Wed, 29 Feb 2012 16:40:08 +0000 Subject: 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 --- sound/soc/codecs/wm_hubs.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sound/soc/codecs/wm_hubs.h') 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 { int series_startup; int no_series_update; + bool no_cache_class_w; bool class_w; u16 class_w_dcs; -- cgit v1.2.1