[ALSA] Add the definition of linear volume TLV
Takashi Iwai [Mon, 28 Aug 2006 11:20:13 +0000 (13:20 +0200)]
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>

include/sound/tlv.h

index b826e1d..7905841 100644 (file)
@@ -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 */