aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Stein <alexander.stein@systec-electronic.com>2015-04-16 08:51:56 -0400
committerMark Brown <broonie@kernel.org>2015-04-27 10:42:20 -0400
commitd2b7c2aaf7b565532c7d9937519b199fbca4a779 (patch)
treebf68f8043e71116058fdff0519380ab9865af08a
parentb787f68c36d49bb1d9236f403813641efa74a031 (diff)
ASoC: sgtl5000: Use specific variable for lo_vag
This is a preparation for calculating lo_vol which needs both vag and lo_vag. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/sgtl5000.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 3593a1496056..bab2b5e5b312 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -1111,6 +1111,7 @@ static int sgtl5000_set_power_regs(struct snd_soc_codec *codec)
1111 u16 ana_pwr; 1111 u16 ana_pwr;
1112 u16 lreg_ctrl; 1112 u16 lreg_ctrl;
1113 int vag; 1113 int vag;
1114 int lo_vag;
1114 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); 1115 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec);
1115 1116
1116 vdda = regulator_get_voltage(sgtl5000->supplies[VDDA].consumer); 1117 vdda = regulator_get_voltage(sgtl5000->supplies[VDDA].consumer);
@@ -1198,20 +1199,20 @@ static int sgtl5000_set_power_regs(struct snd_soc_codec *codec)
1198 SGTL5000_ANA_GND_MASK, vag << SGTL5000_ANA_GND_SHIFT); 1199 SGTL5000_ANA_GND_MASK, vag << SGTL5000_ANA_GND_SHIFT);
1199 1200
1200 /* set line out VAG to vddio / 2, in range (0.8v, 1.675v) */ 1201 /* set line out VAG to vddio / 2, in range (0.8v, 1.675v) */
1201 vag = vddio / 2; 1202 lo_vag = vddio / 2;
1202 if (vag <= SGTL5000_LINE_OUT_GND_BASE) 1203 if (lo_vag <= SGTL5000_LINE_OUT_GND_BASE)
1203 vag = 0; 1204 lo_vag = 0;
1204 else if (vag >= SGTL5000_LINE_OUT_GND_BASE + 1205 else if (lo_vag >= SGTL5000_LINE_OUT_GND_BASE +
1205 SGTL5000_LINE_OUT_GND_STP * SGTL5000_LINE_OUT_GND_MAX) 1206 SGTL5000_LINE_OUT_GND_STP * SGTL5000_LINE_OUT_GND_MAX)
1206 vag = SGTL5000_LINE_OUT_GND_MAX; 1207 lo_vag = SGTL5000_LINE_OUT_GND_MAX;
1207 else 1208 else
1208 vag = (vag - SGTL5000_LINE_OUT_GND_BASE) / 1209 lo_vag = (lo_vag - SGTL5000_LINE_OUT_GND_BASE) /
1209 SGTL5000_LINE_OUT_GND_STP; 1210 SGTL5000_LINE_OUT_GND_STP;
1210 1211
1211 snd_soc_update_bits(codec, SGTL5000_CHIP_LINE_OUT_CTRL, 1212 snd_soc_update_bits(codec, SGTL5000_CHIP_LINE_OUT_CTRL,
1212 SGTL5000_LINE_OUT_CURRENT_MASK | 1213 SGTL5000_LINE_OUT_CURRENT_MASK |
1213 SGTL5000_LINE_OUT_GND_MASK, 1214 SGTL5000_LINE_OUT_GND_MASK,
1214 vag << SGTL5000_LINE_OUT_GND_SHIFT | 1215 lo_vag << SGTL5000_LINE_OUT_GND_SHIFT |
1215 SGTL5000_LINE_OUT_CURRENT_360u << 1216 SGTL5000_LINE_OUT_CURRENT_360u <<
1216 SGTL5000_LINE_OUT_CURRENT_SHIFT); 1217 SGTL5000_LINE_OUT_CURRENT_SHIFT);
1217 1218