mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
control: add a series of macro for offset of several types of TLV
In development period for Linux v4.18, a series of SNDRV_CTL_TLVO_XXX macro was introduced to kernel stuffs for position offset of TLV data. This commit adds these macros to backport header in this library. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
44f499bb22
commit
5eb78219f6
1 changed files with 16 additions and 0 deletions
|
|
@ -41,6 +41,10 @@
|
|||
#define SNDRV_CTL_TLVD_LENGTH(...) \
|
||||
((unsigned int)sizeof((const unsigned int[]) { __VA_ARGS__ }))
|
||||
|
||||
/* Accessor offsets for TLV data items */
|
||||
#define SNDRV_CTL_TLVO_TYPE 0
|
||||
#define SNDRV_CTL_TLVO_LEN 1
|
||||
|
||||
#define SNDRV_CTL_TLVD_CONTAINER_ITEM(...) \
|
||||
SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_CONTAINER, __VA_ARGS__)
|
||||
#define SNDRV_CTL_TLVD_DECLARE_CONTAINER(name, ...) \
|
||||
|
|
@ -60,6 +64,10 @@
|
|||
SNDRV_CTL_TLVD_DB_SCALE_ITEM(min, step, mute) \
|
||||
}
|
||||
|
||||
/* Accessor offsets for min, mute and step items in dB scale type TLV */
|
||||
#define SNDRV_CTL_TLVO_DB_SCALE_MIN 2
|
||||
#define SNDRV_CTL_TLVO_DB_SCALE_MUTE_AND_STEP 3
|
||||
|
||||
/* dB scale specified with min/max values instead of step */
|
||||
#define SNDRV_CTL_TLVD_DB_MINMAX_ITEM(min_dB, max_dB) \
|
||||
SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_MINMAX, (min_dB), (max_dB))
|
||||
|
|
@ -74,6 +82,10 @@
|
|||
SNDRV_CTL_TLVD_DB_MINMAX_MUTE_ITEM(min_dB, max_dB) \
|
||||
}
|
||||
|
||||
/* Accessor offsets for min, max items in db-minmax types of TLV. */
|
||||
#define SNDRV_CTL_TLVO_DB_MINMAX_MIN 2
|
||||
#define SNDRV_CTL_TLVO_DB_MINMAX_MAX 3
|
||||
|
||||
/* linear volume between min_dB and max_dB (.01dB unit) */
|
||||
#define SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB, max_dB) \
|
||||
SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_LINEAR, (min_dB), (max_dB))
|
||||
|
|
@ -82,6 +94,10 @@
|
|||
SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB, max_dB) \
|
||||
}
|
||||
|
||||
/* Accessor offsets for min, max items in db-linear type of TLV. */
|
||||
#define SNDRV_CTL_TLVO_DB_LINEAR_MIN 2
|
||||
#define SNDRV_CTL_TLVO_DB_LINEAR_MAX 3
|
||||
|
||||
/* dB range container:
|
||||
* Items in dB range container must be ordered by their values and by their
|
||||
* dB values. This implies that larger values must correspond with larger
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue