summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorMatteo Frigo <athena@fftw.org>2012-09-12 10:12:06 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-02 10:29:52 -0700
commit23b5a5da4f07b887adce9b42daa7aa14a72a5427 (patch)
treeab71e62372d5c69bb7955185e2007a0363dcb322 /sound
parent6172ace501d10b1c629c5e82af26d0b87773c1ef (diff)
downloadlinux-3.10-23b5a5da4f07b887adce9b42daa7aa14a72a5427.tar.gz
linux-3.10-23b5a5da4f07b887adce9b42daa7aa14a72a5427.tar.bz2
linux-3.10-23b5a5da4f07b887adce9b42daa7aa14a72a5427.zip
ALSA: ice1724: Use linear scale for AK4396 volume control.
commit 3737e2be505d872bf2b3c1cd4151b2d2b413d7b5 upstream. The AK4396 DAC has a linear-scale attentuator, but sound/pci/ice1712/prodigy_hifi.c used a log scale instead, which is not quite right. This patch restores the correct scale, borrowing from the ak4396 code in sound/pci/oxygen/oxygen.c. Signed-off-by: Matteo Frigo <athena@fftw.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/ice1712/prodigy_hifi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/pci/ice1712/prodigy_hifi.c b/sound/pci/ice1712/prodigy_hifi.c
index 764cc93dbca..075d5aa1fee 100644
--- a/sound/pci/ice1712/prodigy_hifi.c
+++ b/sound/pci/ice1712/prodigy_hifi.c
@@ -297,6 +297,7 @@ static int ak4396_dac_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem
}
static const DECLARE_TLV_DB_SCALE(db_scale_wm_dac, -12700, 100, 1);
+static const DECLARE_TLV_DB_LINEAR(ak4396_db_scale, TLV_DB_GAIN_MUTE, 0);
static struct snd_kcontrol_new prodigy_hd2_controls[] __devinitdata = {
{
@@ -307,7 +308,7 @@ static struct snd_kcontrol_new prodigy_hd2_controls[] __devinitdata = {
.info = ak4396_dac_vol_info,
.get = ak4396_dac_vol_get,
.put = ak4396_dac_vol_put,
- .tlv = { .p = db_scale_wm_dac },
+ .tlv = { .p = ak4396_db_scale },
},
};