aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ice1712/ice1712.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/ice1712/ice1712.c')
-rw-r--r--sound/pci/ice1712/ice1712.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index bf20858d9f19..dc69392eafa3 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -62,6 +62,7 @@
62#include <sound/cs8427.h> 62#include <sound/cs8427.h>
63#include <sound/info.h> 63#include <sound/info.h>
64#include <sound/initval.h> 64#include <sound/initval.h>
65#include <sound/tlv.h>
65 66
66#include <sound/asoundef.h> 67#include <sound/asoundef.h>
67 68
@@ -1377,6 +1378,7 @@ static int snd_ice1712_pro_mixer_volume_put(struct snd_kcontrol *kcontrol, struc
1377 return change; 1378 return change;
1378} 1379}
1379 1380
1381static DECLARE_TLV_DB_SCALE(db_scale_playback, -14400, 150, 0);
1380 1382
1381static struct snd_kcontrol_new snd_ice1712_multi_playback_ctrls[] __devinitdata = { 1383static struct snd_kcontrol_new snd_ice1712_multi_playback_ctrls[] __devinitdata = {
1382 { 1384 {
@@ -1390,12 +1392,15 @@ static struct snd_kcontrol_new snd_ice1712_multi_playback_ctrls[] __devinitdata
1390 }, 1392 },
1391 { 1393 {
1392 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1394 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1395 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE |
1396 SNDRV_CTL_ELEM_ACCESS_TLV_READ),
1393 .name = "Multi Playback Volume", 1397 .name = "Multi Playback Volume",
1394 .info = snd_ice1712_pro_mixer_volume_info, 1398 .info = snd_ice1712_pro_mixer_volume_info,
1395 .get = snd_ice1712_pro_mixer_volume_get, 1399 .get = snd_ice1712_pro_mixer_volume_get,
1396 .put = snd_ice1712_pro_mixer_volume_put, 1400 .put = snd_ice1712_pro_mixer_volume_put,
1397 .private_value = 0, 1401 .private_value = 0,
1398 .count = 10, 1402 .count = 10,
1403 .tlv = { .p = db_scale_playback }
1399 }, 1404 },
1400}; 1405};
1401 1406
@@ -1420,11 +1425,14 @@ static struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_switch __devinitd
1420 1425
1421static struct snd_kcontrol_new snd_ice1712_multi_capture_analog_volume __devinitdata = { 1426static struct snd_kcontrol_new snd_ice1712_multi_capture_analog_volume __devinitdata = {
1422 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1427 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1428 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE |
1429 SNDRV_CTL_ELEM_ACCESS_TLV_READ),
1423 .name = "H/W Multi Capture Volume", 1430 .name = "H/W Multi Capture Volume",
1424 .info = snd_ice1712_pro_mixer_volume_info, 1431 .info = snd_ice1712_pro_mixer_volume_info,
1425 .get = snd_ice1712_pro_mixer_volume_get, 1432 .get = snd_ice1712_pro_mixer_volume_get,
1426 .put = snd_ice1712_pro_mixer_volume_put, 1433 .put = snd_ice1712_pro_mixer_volume_put,
1427 .private_value = 10, 1434 .private_value = 10,
1435 .tlv = { .p = db_scale_playback }
1428}; 1436};
1429 1437
1430static struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_volume __devinitdata = { 1438static struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_volume __devinitdata = {
@@ -1857,7 +1865,7 @@ static int snd_ice1712_pro_internal_clock_put(struct snd_kcontrol *kcontrol,
1857{ 1865{
1858 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); 1866 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1859 static unsigned int xrate[13] = { 1867 static unsigned int xrate[13] = {
1860 8000, 9600, 11025, 12000, 1600, 22050, 24000, 1868 8000, 9600, 11025, 12000, 16000, 22050, 24000,
1861 32000, 44100, 48000, 64000, 88200, 96000 1869 32000, 44100, 48000, 64000, 88200, 96000
1862 }; 1870 };
1863 unsigned char oval; 1871 unsigned char oval;
@@ -1924,7 +1932,7 @@ static int snd_ice1712_pro_internal_clock_default_get(struct snd_kcontrol *kcont
1924{ 1932{
1925 int val; 1933 int val;
1926 static unsigned int xrate[13] = { 1934 static unsigned int xrate[13] = {
1927 8000, 9600, 11025, 12000, 1600, 22050, 24000, 1935 8000, 9600, 11025, 12000, 16000, 22050, 24000,
1928 32000, 44100, 48000, 64000, 88200, 96000 1936 32000, 44100, 48000, 64000, 88200, 96000
1929 }; 1937 };
1930 1938
@@ -1941,7 +1949,7 @@ static int snd_ice1712_pro_internal_clock_default_put(struct snd_kcontrol *kcont
1941 struct snd_ctl_elem_value *ucontrol) 1949 struct snd_ctl_elem_value *ucontrol)
1942{ 1950{
1943 static unsigned int xrate[13] = { 1951 static unsigned int xrate[13] = {
1944 8000, 9600, 11025, 12000, 1600, 22050, 24000, 1952 8000, 9600, 11025, 12000, 16000, 22050, 24000,
1945 32000, 44100, 48000, 64000, 88200, 96000 1953 32000, 44100, 48000, 64000, 88200, 96000
1946 }; 1954 };
1947 unsigned char oval; 1955 unsigned char oval;