ASoC: TWL4030: Fix for digital loopback gain range
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>
Mon, 12 Jul 2010 08:50:06 +0000 (11:50 +0300)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Tue, 13 Jul 2010 10:30:05 +0000 (11:30 +0100)
When the gain is configured using dB value it was
not possible to use -24dB since the loopback got
muted instead of -24dB.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsomicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/codecs/twl4030.c

index 8d36bfa..d7f0048 100644 (file)
@@ -540,10 +540,11 @@ static const struct snd_kcontrol_new twl4030_dapm_abypassl2_control =
 static const struct snd_kcontrol_new twl4030_dapm_abypassv_control =
        SOC_DAPM_SINGLE("Switch", TWL4030_REG_VDL_APGA_CTL, 2, 1, 0);
 
-/* Digital bypass gain, 0 mutes the bypass */
+/* Digital bypass gain, mute instead of -30dB */
 static const unsigned int twl4030_dapm_dbypass_tlv[] = {
-       TLV_DB_RANGE_HEAD(2),
-       0, 3, TLV_DB_SCALE_ITEM(-2400, 0, 1),
+       TLV_DB_RANGE_HEAD(3),
+       0, 1, TLV_DB_SCALE_ITEM(-3000, 600, 1),
+       2, 3, TLV_DB_SCALE_ITEM(-2400, 0, 0),
        4, 7, TLV_DB_SCALE_ITEM(-1800, 600, 0),
 };