aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorJarkko Nikula <jhnikula@gmail.com>2010-04-26 08:49:13 -0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2010-04-27 06:08:06 -0400
commitdb13802e51f29c40b404038485121a3973c0947d (patch)
treed33d1bae5ad225a4951b2d6ea351e812ecb1afb8 /sound/soc
parentd3235c4ac17b7f2a9c64cc3ebc71e23d1d1fa466 (diff)
ASoC: tlv320aic3x: Change bias management semantics
Move PLL enable from BIAS_ON state to BIAS_PREPARE to be pair with BIAS_STANDBY where PLL is disabled. Remove also old comments about power control. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/tlv320aic3x.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 19602eca4924..6b74ad808a09 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -997,7 +997,8 @@ static int aic3x_set_bias_level(struct snd_soc_codec *codec,
997 997
998 switch (level) { 998 switch (level) {
999 case SND_SOC_BIAS_ON: 999 case SND_SOC_BIAS_ON:
1000 /* all power is driven by DAPM system */ 1000 break;
1001 case SND_SOC_BIAS_PREPARE:
1001 if (aic3x->master) { 1002 if (aic3x->master) {
1002 /* enable pll */ 1003 /* enable pll */
1003 reg = aic3x_read_reg_cache(codec, AIC3X_PLL_PROGA_REG); 1004 reg = aic3x_read_reg_cache(codec, AIC3X_PLL_PROGA_REG);
@@ -1005,13 +1006,8 @@ static int aic3x_set_bias_level(struct snd_soc_codec *codec,
1005 reg | PLL_ENABLE); 1006 reg | PLL_ENABLE);
1006 } 1007 }
1007 break; 1008 break;
1008 case SND_SOC_BIAS_PREPARE:
1009 break;
1010 case SND_SOC_BIAS_STANDBY: 1009 case SND_SOC_BIAS_STANDBY:
1011 /* 1010 /* fall through and disable pll */
1012 * all power is driven by DAPM system,
1013 * so output power is safe if bypass was set
1014 */
1015 case SND_SOC_BIAS_OFF: 1011 case SND_SOC_BIAS_OFF:
1016 if (aic3x->master) { 1012 if (aic3x->master) {
1017 /* disable pll */ 1013 /* disable pll */