aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8993.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-10-27 16:48:36 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-10-28 14:34:03 -0400
commitfec6dd833e733b5d9588a1f1e4d81118b79b5774 (patch)
treefd321d8252fa61dd6df15166c41e262f4c8955ae /sound/soc/codecs/wm8993.c
parentd906401114861585c990ff0290c002b5d22fc71a (diff)
ASoC: Store DC offset correction for wm_hubs devices in class W mode
Providing the analogue configuration of the output path remains the same the DC offset corrected by the DC servo will remain identical so we can skip the callibration, reducing the startup time for the headphone output. Implement this for the wm_hubs devices as has been done for several other CODECs. Don't do this if we have any analogue paths enabled since offsets may be being introduced by the analogue paths which could vary outside the control of the driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/codecs/wm8993.c')
-rw-r--r--sound/soc/codecs/wm8993.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 589e3fa2473..67fe5ccc608 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -735,6 +735,7 @@ static int class_w_put(struct snd_kcontrol *kcontrol,
735 0); 735 0);
736 } 736 }
737 wm8993->class_w_users++; 737 wm8993->class_w_users++;
738 wm8993->hubs_data.class_w = true;
738 } 739 }
739 740
740 /* Implement the change */ 741 /* Implement the change */
@@ -751,6 +752,7 @@ static int class_w_put(struct snd_kcontrol *kcontrol,
751 WM8993_CP_DYN_V); 752 WM8993_CP_DYN_V);
752 } 753 }
753 wm8993->class_w_users--; 754 wm8993->class_w_users--;
755 wm8993->hubs_data.class_w = false;
754 } 756 }
755 757
756 dev_dbg(codec->dev, "Indirect DAC use count now %d\n", 758 dev_dbg(codec->dev, "Indirect DAC use count now %d\n",