122851890Sopenharmony_ci/* 222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py, 322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants, 422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information. 522851890Sopenharmony_ci */ 622851890Sopenharmony_ci#ifndef __UAPI_SOUND_TLV_H 722851890Sopenharmony_ci#define __UAPI_SOUND_TLV_H 822851890Sopenharmony_ci#define SNDRV_CTL_TLVT_CONTAINER 0 922851890Sopenharmony_ci#define SNDRV_CTL_TLVT_DB_SCALE 1 1022851890Sopenharmony_ci#define SNDRV_CTL_TLVT_DB_LINEAR 2 1122851890Sopenharmony_ci#define SNDRV_CTL_TLVT_DB_RANGE 3 1222851890Sopenharmony_ci#define SNDRV_CTL_TLVT_DB_MINMAX 4 1322851890Sopenharmony_ci#define SNDRV_CTL_TLVT_DB_MINMAX_MUTE 5 1422851890Sopenharmony_ci#define SNDRV_CTL_TLVT_CHMAP_FIXED 0x101 1522851890Sopenharmony_ci#define SNDRV_CTL_TLVT_CHMAP_VAR 0x102 1622851890Sopenharmony_ci#define SNDRV_CTL_TLVT_CHMAP_PAIRED 0x103 1722851890Sopenharmony_ci#define SNDRV_CTL_TLVD_ITEM(type, ...) \ 1822851890Sopenharmony_ci (type), SNDRV_CTL_TLVD_LENGTH(__VA_ARGS__), __VA_ARGS__ 1922851890Sopenharmony_ci#define SNDRV_CTL_TLVD_LENGTH(...) \ 2022851890Sopenharmony_ci ((unsigned int)sizeof((const unsigned int[]) { __VA_ARGS__ })) 2122851890Sopenharmony_ci#define SNDRV_CTL_TLVO_TYPE 0 2222851890Sopenharmony_ci#define SNDRV_CTL_TLVO_LEN 1 2322851890Sopenharmony_ci#define SNDRV_CTL_TLVD_CONTAINER_ITEM(...) \ 2422851890Sopenharmony_ci SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_CONTAINER, __VA_ARGS__) 2522851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DECLARE_CONTAINER(name, ...) \ 2622851890Sopenharmony_ci unsigned int name[] = { \ 2722851890Sopenharmony_ci SNDRV_CTL_TLVD_CONTAINER_ITEM(__VA_ARGS__) \ 2822851890Sopenharmony_ci } 2922851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_SCALE_MASK 0xffff 3022851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_SCALE_MUTE 0x10000 3122851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_SCALE_ITEM(min, step, mute) \ 3222851890Sopenharmony_ci SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_SCALE, \ 3322851890Sopenharmony_ci (min), \ 3422851890Sopenharmony_ci ((step) & SNDRV_CTL_TLVD_DB_SCALE_MASK) | \ 3522851890Sopenharmony_ci ((mute) ? SNDRV_CTL_TLVD_DB_SCALE_MUTE : 0)) 3622851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DECLARE_DB_SCALE(name, min, step, mute) \ 3722851890Sopenharmony_ci unsigned int name[] = { \ 3822851890Sopenharmony_ci SNDRV_CTL_TLVD_DB_SCALE_ITEM(min, step, mute) \ 3922851890Sopenharmony_ci } 4022851890Sopenharmony_ci#define SNDRV_CTL_TLVO_DB_SCALE_MIN 2 4122851890Sopenharmony_ci#define SNDRV_CTL_TLVO_DB_SCALE_MUTE_AND_STEP 3 4222851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_MINMAX_ITEM(min_dB, max_dB) \ 4322851890Sopenharmony_ci SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_MINMAX, (min_dB), (max_dB)) 4422851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_MINMAX_MUTE_ITEM(min_dB, max_dB) \ 4522851890Sopenharmony_ci SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_MINMAX_MUTE, (min_dB), (max_dB)) 4622851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DECLARE_DB_MINMAX(name, min_dB, max_dB) \ 4722851890Sopenharmony_ci unsigned int name[] = { \ 4822851890Sopenharmony_ci SNDRV_CTL_TLVD_DB_MINMAX_ITEM(min_dB, max_dB) \ 4922851890Sopenharmony_ci } 5022851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DECLARE_DB_MINMAX_MUTE(name, min_dB, max_dB) \ 5122851890Sopenharmony_ci unsigned int name[] = { \ 5222851890Sopenharmony_ci SNDRV_CTL_TLVD_DB_MINMAX_MUTE_ITEM(min_dB, max_dB) \ 5322851890Sopenharmony_ci } 5422851890Sopenharmony_ci#define SNDRV_CTL_TLVO_DB_MINMAX_MIN 2 5522851890Sopenharmony_ci#define SNDRV_CTL_TLVO_DB_MINMAX_MAX 3 5622851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB, max_dB) \ 5722851890Sopenharmony_ci SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_LINEAR, (min_dB), (max_dB)) 5822851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(name, min_dB, max_dB) \ 5922851890Sopenharmony_ci unsigned int name[] = { \ 6022851890Sopenharmony_ci SNDRV_CTL_TLVD_DB_LINEAR_ITEM(min_dB, max_dB) \ 6122851890Sopenharmony_ci } 6222851890Sopenharmony_ci#define SNDRV_CTL_TLVO_DB_LINEAR_MIN 2 6322851890Sopenharmony_ci#define SNDRV_CTL_TLVO_DB_LINEAR_MAX 3 6422851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_RANGE_ITEM(...) \ 6522851890Sopenharmony_ci SNDRV_CTL_TLVD_ITEM(SNDRV_CTL_TLVT_DB_RANGE, __VA_ARGS__) 6622851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DECLARE_DB_RANGE(name, ...) \ 6722851890Sopenharmony_ci unsigned int name[] = { \ 6822851890Sopenharmony_ci SNDRV_CTL_TLVD_DB_RANGE_ITEM(__VA_ARGS__) \ 6922851890Sopenharmony_ci } 7022851890Sopenharmony_ci#define SNDRV_CTL_TLVD_DB_GAIN_MUTE -9999999 7122851890Sopenharmony_ci#endif 72