1#ifndef _UAPI_MSM_AUDIO_AC3_H
2#define _UAPI_MSM_AUDIO_AC3_H
3
4#include <linux/msm_audio.h>
5
6#define AUDIO_SET_AC3_CONFIG  _IOW(AUDIO_IOCTL_MAGIC, \
7	(AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned)
8#define AUDIO_GET_AC3_CONFIG  _IOR(AUDIO_IOCTL_MAGIC, \
9	(AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned)
10
11#define AUDAC3_DEF_WORDSIZE 0
12#define AUDAC3_DEF_USER_DOWNMIX_FLAG 0x0
13#define AUDAC3_DEF_USER_KARAOKE_FLAG 0x0
14#define AUDAC3_DEF_ERROR_CONCEALMENT 0
15#define AUDAC3_DEF_MAX_REPEAT_COUNT  0
16
17struct msm_audio_ac3_config {
18	unsigned short		numChans;
19	unsigned short		wordSize;
20	unsigned short		kCapableMode;
21	unsigned short		compMode;
22	unsigned short		outLfeOn;
23	unsigned short		outputMode;
24	unsigned short		stereoMode;
25	unsigned short		dualMonoMode;
26	unsigned short		fsCod;
27	unsigned short		pcmScaleFac;
28	unsigned short		dynRngScaleHi;
29	unsigned short		dynRngScaleLow;
30	unsigned short		user_downmix_flag;
31	unsigned short		user_karaoke_flag;
32	unsigned short		dm_address_high;
33	unsigned short		dm_address_low;
34	unsigned short		ko_address_high;
35	unsigned short		ko_address_low;
36	unsigned short		error_concealment;
37	unsigned short		max_rep_count;
38	unsigned short		channel_routing_mode[6];
39};
40
41#endif /* _UAPI_MSM_AUDIO_AC3_H */
42