summaryrefslogtreecommitdiffstats
path: root/include/sound/tlv.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-08-28 13:20:13 +0200
committerJaroslav Kysela <perex@suse.cz>2006-09-23 10:44:44 +0200
commit063a40d9111ce7558f2fdfa4f85acfc47eb27353 (patch)
tree66b1d91583d6fa1c4596c349bebc03a0363273cb /include/sound/tlv.h
parent[ALSA] sparc dbri: OSS layer fix (diff)
downloadlinux-063a40d9111ce7558f2fdfa4f85acfc47eb27353.tar.xz
linux-063a40d9111ce7558f2fdfa4f85acfc47eb27353.zip
[ALSA] Add the definition of linear volume TLV
Added the definition of linear volume TLV type. Some DSP chips and codecs (e.g. AK codec) use linear volume control. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'include/sound/tlv.h')
-rw-r--r--include/sound/tlv.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/sound/tlv.h b/include/sound/tlv.h
index b826e1df1da6..7905841643df 100644
--- a/include/sound/tlv.h
+++ b/include/sound/tlv.h
@@ -33,6 +33,7 @@
#define SNDRV_CTL_TLVT_CONTAINER 0 /* one level down - group of TLVs */
#define SNDRV_CTL_TLVT_DB_SCALE 1 /* dB scale */
+#define SNDRV_CTL_TLVT_DB_LINEAR 2 /* linear volume */
#define DECLARE_TLV_DB_SCALE(name, min, step, mute) \
unsigned int name[] = { \
@@ -40,4 +41,13 @@ unsigned int name[] = { \
(min), ((step) & 0xffff) | ((mute) ? 0x10000 : 0) \
}
+/* linear volume between min_dB and max_dB (.01dB unit) */
+#define DECLARE_TLV_DB_LINEAR(name, min_dB, max_dB) \
+unsigned int name[] = { \
+ SNDRV_CTL_TLVT_DB_LINEAR, 2 * sizeof(unsigned int), \
+ (min_dB), (max_dB) \
+}
+
+#define TLV_DB_GAIN_MUTE -9999999
+
#endif /* __SOUND_TLV_H */