summaryrefslogtreecommitdiffstats
path: root/sound/pci/ca0106
diff options
context:
space:
mode:
authorJames Courtier-Dutton <James@superbug.co.uk>2006-07-22 16:02:48 +0200
committerJaroslav Kysela <perex@suse.cz>2006-09-23 10:38:26 +0200
commitfff36e472b4315df77513f4339c5c199c6aad28b (patch)
tree02c3041d3c006520cb4056847c27b30cdd48254d /sound/pci/ca0106
parent[ALSA] usb-audio: add more Yamaha devices (diff)
downloadlinux-fff36e472b4315df77513f4339c5c199c6aad28b.tar.xz
linux-fff36e472b4315df77513f4339c5c199c6aad28b.zip
[ALSA] snd-ca0106: Fix dB gain TLVs.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/ca0106')
-rw-r--r--sound/pci/ca0106/ca0106_mixer.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c
index df75270939ac..6d64438cecc9 100644
--- a/sound/pci/ca0106/ca0106_mixer.c
+++ b/sound/pci/ca0106/ca0106_mixer.c
@@ -74,7 +74,8 @@
#include "ca0106.h"
-static DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale, -5150, 75, 1);
+static DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale1, -5175, 25, 1);
+static DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale2, -10350, 50, 1);
static int snd_ca0106_shared_spdif_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
@@ -477,16 +478,19 @@ static int snd_ca0106_i2c_volume_put(struct snd_kcontrol *kcontrol,
.info = snd_ca0106_volume_info, \
.get = snd_ca0106_volume_get, \
.put = snd_ca0106_volume_put, \
- .tlv.p = snd_ca0106_db_scale, \
+ .tlv.p = snd_ca0106_db_scale1, \
.private_value = ((chid) << 8) | (reg) \
}
#define I2C_VOLUME(xname,chid) \
{ \
.iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | \
+ SNDRV_CTL_ELEM_ACCESS_TLV_READ, \
.info = snd_ca0106_i2c_volume_info, \
.get = snd_ca0106_i2c_volume_get, \
.put = snd_ca0106_i2c_volume_put, \
+ .tlv.p = snd_ca0106_db_scale2, \
.private_value = chid \
}