1772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#ifndef _UAPI_MSM_AUDIO_CALIBRATION_H
2772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define _UAPI_MSM_AUDIO_CALIBRATION_H
3772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
4772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#include <linux/types.h>
5772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#include <linux/ioctl.h>
6772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
7772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define CAL_IOCTL_MAGIC 'a'
8772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
9772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_ALLOCATE_CALIBRATION	_IOWR(CAL_IOCTL_MAGIC, \
10772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							200, void *)
11772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_DEALLOCATE_CALIBRATION	_IOWR(CAL_IOCTL_MAGIC, \
12772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							201, void *)
13772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_PREPARE_CALIBRATION	_IOWR(CAL_IOCTL_MAGIC, \
14772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							202, void *)
15772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_CALIBRATION		_IOWR(CAL_IOCTL_MAGIC, \
16772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							203, void *)
17772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_CALIBRATION		_IOWR(CAL_IOCTL_MAGIC, \
18772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							204, void *)
19772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_POST_CALIBRATION		_IOWR(CAL_IOCTL_MAGIC, \
20772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							205, void *)
21772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
22772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* For Real-Time Audio Calibration */
23772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_ADM_INFO		_IOR(CAL_IOCTL_MAGIC, \
24772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							207, void *)
25772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_VOICE_INFO	_IOR(CAL_IOCTL_MAGIC, \
26772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							208, void *)
27772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_ADM_CAL		_IOWR(CAL_IOCTL_MAGIC, \
28772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							209, void *)
29772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_ADM_CAL		_IOWR(CAL_IOCTL_MAGIC, \
30772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							210, void *)
31772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_ASM_CAL		_IOWR(CAL_IOCTL_MAGIC, \
32772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							211, void *)
33772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_ASM_CAL		_IOWR(CAL_IOCTL_MAGIC, \
34772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							212, void *)
35772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_CVS_CAL		_IOWR(CAL_IOCTL_MAGIC, \
36772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							213, void *)
37772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_CVS_CAL		_IOWR(CAL_IOCTL_MAGIC, \
38772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							214, void *)
39772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_CVP_CAL		_IOWR(CAL_IOCTL_MAGIC, \
40772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							215, void *)
41772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_CVP_CAL		_IOWR(CAL_IOCTL_MAGIC, \
42772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							216, void *)
43772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_AFE_CAL		_IOWR(CAL_IOCTL_MAGIC, \
44772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							217, void *)
45772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_AFE_CAL		_IOWR(CAL_IOCTL_MAGIC, \
46772b7facf972926b14fe303d0348c200cb20a313Prashant Malani							218, void *)
47772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum {
48772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVP_VOC_RX_TOPOLOGY_CAL_TYPE = 0,
49772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVP_VOC_TX_TOPOLOGY_CAL_TYPE,
50772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVP_VOCPROC_STATIC_CAL_TYPE,
51772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVP_VOCPROC_DYNAMIC_CAL_TYPE,
52772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVS_VOCSTRM_STATIC_CAL_TYPE,
53772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVP_VOCDEV_CFG_CAL_TYPE,
54772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVP_VOCPROC_STATIC_COL_CAL_TYPE,
55772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE,
56772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	CVS_VOCSTRM_STATIC_COL_CAL_TYPE,
57772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
58772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ADM_TOPOLOGY_CAL_TYPE,
59772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ADM_CUST_TOPOLOGY_CAL_TYPE,
60772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ADM_AUDPROC_CAL_TYPE,
61772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ADM_AUDVOL_CAL_TYPE,
62772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
63772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ASM_TOPOLOGY_CAL_TYPE,
64772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ASM_CUST_TOPOLOGY_CAL_TYPE,
65772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ASM_AUDSTRM_CAL_TYPE,
66772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
67772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AFE_COMMON_RX_CAL_TYPE,
68772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AFE_COMMON_TX_CAL_TYPE,
69772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AFE_ANC_CAL_TYPE,
70772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AFE_AANC_CAL_TYPE,
71772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AFE_FB_SPKR_PROT_CAL_TYPE,
72772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AFE_HW_DELAY_CAL_TYPE,
73772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AFE_SIDETONE_CAL_TYPE,
74464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	AFE_TOPOLOGY_CAL_TYPE,
75464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	AFE_CUST_TOPOLOGY_CAL_TYPE,
76772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
77772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	LSM_CUST_TOPOLOGY_CAL_TYPE,
78772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	LSM_TOPOLOGY_CAL_TYPE,
79772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	LSM_CAL_TYPE,
80772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
81772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ADM_RTAC_INFO_CAL_TYPE,
82772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	VOICE_RTAC_INFO_CAL_TYPE,
83772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ADM_RTAC_APR_CAL_TYPE,
84772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ASM_RTAC_APR_CAL_TYPE,
85772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	VOICE_RTAC_APR_CAL_TYPE,
86772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
87772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	MAD_CAL_TYPE,
88772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ULP_AFE_CAL_TYPE,
89772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	ULP_LSM_CAL_TYPE,
90772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
91772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	DTS_EAGLE_CAL_TYPE,
92772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	AUDIO_CORE_METAINFO_CAL_TYPE,
93772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	SRS_TRUMEDIA_CAL_TYPE,
94772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
95464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	CORE_CUSTOM_TOPOLOGIES_CAL_TYPE,
96464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	ADM_RTAC_AUDVOL_CAL_TYPE,
97464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
98464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	ULP_LSM_TOPOLOGY_ID_CAL_TYPE,
99464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE,
100464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE,
101772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	MAX_CAL_TYPES,
102772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
103772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
104464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE
105464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE
106464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
107772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum {
108772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	VERSION_0_0,
109772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
110772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
111772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum {
112772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	PER_VOCODER_CAL_BIT_MASK = 0x10000,
113772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
114772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
115772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MAX_IOCTL_CMD_SIZE	512
116772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
117772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* common structures */
118772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
119772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_header {
120772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		data_size;
121772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		version;
122772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		cal_type;
123772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		cal_type_size;
124772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
125772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
126772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_header {
127772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		version;
128772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		buffer_number;
129772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
130772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
131772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_data {
132772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* Size of cal data at mem_handle allocation or at vaddr */
133772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		cal_size;
134772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* If mem_handle if shared memory is used*/
135772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		mem_handle;
136772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* size of virtual memory if shared memory not used */
137772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
138772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
139772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
140772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_ALLOCATE_CALIBRATION */
141772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_alloc {
142772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
143772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
144772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
145772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
146772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_alloc {
147772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
148772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_alloc	cal_type;
149772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
150772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
151772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
152772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_DEALLOCATE_CALIBRATION */
153772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_dealloc {
154772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
155772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
156772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
157772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
158772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_dealloc {
159772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
160772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_dealloc	cal_type;
161772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
162772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
163772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
164772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_PREPARE_CALIBRATION */
165772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_prepare {
166772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
167772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
168772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
169772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
170772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_prepare {
171772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
172772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_prepare	cal_type;
173772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
174772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
175772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
176772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_POST_CALIBRATION */
177772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_post {
178772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
179772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
180772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
181772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
182772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_post {
183772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
184772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_post	cal_type;
185772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
186772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
187772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/*AUDIO_CORE_META_INFO */
188772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
189772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_metainfo {
190772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t nKey;
191772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
192772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
193772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* Cal info types */
194772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum {
195772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	RX_DEVICE,
196772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	TX_DEVICE,
197772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	MAX_PATH_TYPE
198772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
199772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
200772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_adm_top {
201772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		topology;
202772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
203772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* RX_DEVICE or TX_DEVICE */
204772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		path;
205772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		app_type;
206772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		sample_rate;
207772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
208772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
209772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_audproc {
210772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
211772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* RX_DEVICE or TX_DEVICE */
212772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		path;
213772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		app_type;
214772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		sample_rate;
215772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
216772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
217772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_audvol {
218772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
219772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* RX_DEVICE or TX_DEVICE */
220772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		path;
221772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		app_type;
222772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		vol_index;
223772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
224772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
225772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_afe {
226772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
227772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* RX_DEVICE or TX_DEVICE */
228772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		path;
229772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		sample_rate;
230772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
231772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
232464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_afe_top {
233464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		topology;
234464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		acdb_id;
235464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	/* RX_DEVICE or TX_DEVICE */
236464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		path;
237464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		sample_rate;
238464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
239464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
240772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_asm_top {
241772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		topology;
242772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		app_type;
243772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
244772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
245772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_audstrm {
246772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		app_type;
247772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
248772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
249772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_aanc {
250772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
251772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
252772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
253772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MAX_HW_DELAY_ENTRIES	25
254772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
255772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_hw_delay_entry {
256772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t sample_rate;
257772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t delay_usec;
258772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
259772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
260772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_hw_delay_data {
261772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t				num_entries;
262772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_hw_delay_entry		entry[MAX_HW_DELAY_ENTRIES];
263772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
264772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
265772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_hw_delay {
266772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t					acdb_id;
267772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* RX_DEVICE or TX_DEVICE */
268772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t					path;
269772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t					property_type;
270772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_hw_delay_data		data;
271772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
272772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
273772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum msm_spkr_prot_states {
274772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	MSM_SPKR_PROT_CALIBRATED,
275772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS,
276772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	MSM_SPKR_PROT_DISABLED,
277464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	MSM_SPKR_PROT_NOT_CALIBRATED,
278464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	MSM_SPKR_PROT_PRE_CALIBRATED,
279464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	MSM_SPKR_PROT_IN_FTM_MODE
280772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
281464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define MSM_SPKR_PROT_IN_FTM_MODE MSM_SPKR_PROT_IN_FTM_MODE
282772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
283772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum msm_spkr_count {
284772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	SP_V2_SPKR_1,
285772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	SP_V2_SPKR_2,
286772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	SP_V2_NUM_MAX_SPKRS
287772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
288772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
289772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_spk_prot_cfg {
290772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		r0[SP_V2_NUM_MAX_SPKRS];
291772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		t0[SP_V2_NUM_MAX_SPKRS];
292772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t	quick_calib_flag;
293464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	uint32_t	mode;
294464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	/*
295464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 0 - Start spk prot
296464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 1 - Start calib
297464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 2 - Disable spk prot
298464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 */
299464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
300464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
301464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_th_vi_ftm_cfg {
302464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	uint32_t	wait_time[SP_V2_NUM_MAX_SPKRS];
303464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	uint32_t	ftm_time[SP_V2_NUM_MAX_SPKRS];
304464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	uint32_t	mode;
305464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	/*
306464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 0 - normal running mode
307464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 1 - Calibration
308464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 2 - FTM mode
309464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 */
310464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
311464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
312464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_ex_vi_ftm_cfg {
313464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	uint32_t	wait_time[SP_V2_NUM_MAX_SPKRS];
314464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	uint32_t	ftm_time[SP_V2_NUM_MAX_SPKRS];
315464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	uint32_t	mode;
316464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	/*
317464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 0 - normal running mode
318464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 * 2 - FTM mode
319464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	 */
320464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
321464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
322464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_ex_vi_param {
323464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		freq_q20[SP_V2_NUM_MAX_SPKRS];
324464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		resis_q24[SP_V2_NUM_MAX_SPKRS];
325464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		qmct_q24[SP_V2_NUM_MAX_SPKRS];
326464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		status[SP_V2_NUM_MAX_SPKRS];
327464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
328464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
329464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_th_vi_param {
330464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		r_dc_q24[SP_V2_NUM_MAX_SPKRS];
331464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		temp_q22[SP_V2_NUM_MAX_SPKRS];
332464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	int32_t		status[SP_V2_NUM_MAX_SPKRS];
333772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
334772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
335772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_msm_spk_prot_status {
336772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		r0[SP_V2_NUM_MAX_SPKRS];
337772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		status;
338772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
339772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
340772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_sidetone {
341772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint16_t	enable;
342772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint16_t	gain;
343772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		tx_acdb_id;
344772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		rx_acdb_id;
345772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		mid;
346772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		pid;
347772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
348772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
349772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_lsm_top {
350772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		topology;
351772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
352772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		app_type;
353772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
354772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
355772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
356772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_lsm {
357772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
358772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* RX_DEVICE or TX_DEVICE */
359772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		path;
360772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		app_type;
361772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
362772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
363772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_voc_top {
364772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		topology;
365772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		acdb_id;
366772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
367772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
368772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_vocproc {
369772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		tx_acdb_id;
370772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		rx_acdb_id;
371772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		tx_sample_rate;
372772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		rx_sample_rate;
373772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
374772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
375772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum {
376772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	DEFAULT_FEATURE_SET,
377772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	VOL_BOOST_FEATURE_SET,
378772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
379772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
380772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_vocvol {
381772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		tx_acdb_id;
382772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		rx_acdb_id;
383772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	/* DEFUALT_ or VOL_BOOST_FEATURE_SET */
384772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		feature_set;
385772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
386772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
387772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_vocdev_cfg {
388772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		tx_acdb_id;
389772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t		rx_acdb_id;
390772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
391772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
392772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MAX_VOICE_COLUMNS	20
393772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
394772b7facf972926b14fe303d0348c200cb20a313Prashant Malaniunion audio_cal_col_na {
395772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint8_t		val8;
396772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint16_t	val16;
397772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t	val32;
398772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint64_t	val64;
399772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} __packed;
400772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
401772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_col {
402772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t		id;
403772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t		type;
404772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	union audio_cal_col_na	na_value;
405772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} __packed;
406772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
407772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_col_data {
408772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	uint32_t		num_columns;
409772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_col	column[MAX_VOICE_COLUMNS];
410772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} __packed;
411772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
412772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_voc_col {
413772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t				table_id;
414772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t				tx_acdb_id;
415772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	int32_t				rx_acdb_id;
416772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_col_data	data;
417772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
418772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
419772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_SET_CALIBRATION & */
420772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_basic {
421772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
422772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
423772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
424772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
425772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_basic {
426772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
427772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_basic	cal_type;
428772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
429772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
430772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_adm_top {
431772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
432772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
433772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_adm_top	cal_info;
434772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
435772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
436772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_adm_top {
437772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
438772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_adm_top	cal_type;
439772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
440772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
441772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_metainfo {
442772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
443772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
444772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_metainfo	cal_info;
445772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
446772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
447772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_core_metainfo {
448772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header	  hdr;
449772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_metainfo cal_type;
450772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
451772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
452772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_audproc {
453772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
454772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
455772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_audproc	cal_info;
456772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
457772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
458772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_audproc {
459772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
460772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_audproc	cal_type;
461772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
462772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
463772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_audvol {
464772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
465772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
466772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_audvol	cal_info;
467772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
468772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
469772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_audvol {
470772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
471772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_audvol	cal_type;
472772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
473772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
474772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_asm_top {
475772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
476772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
477772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_asm_top	cal_info;
478772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
479772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
480772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_asm_top {
481772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
482772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_asm_top	cal_type;
483772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
484772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
485772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_audstrm {
486772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
487772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
488772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_audstrm	cal_info;
489772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
490772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
491772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_audstrm {
492772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
493772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_audstrm	cal_type;
494772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
495772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
496772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_afe {
497772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
498772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
499772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_afe	cal_info;
500772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
501772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
502772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_afe {
503772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
504772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_afe	cal_type;
505772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
506772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
507464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_afe_top {
508464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_header	cal_hdr;
509464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_data		cal_data;
510464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_info_afe_top	cal_info;
511464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
512464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
513464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_afe_top {
514464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_header		hdr;
515464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_afe_top	cal_type;
516464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
517464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
518772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_aanc {
519772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
520772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
521772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_aanc	cal_info;
522772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
523772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
524772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_aanc {
525772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
526772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_aanc	cal_type;
527772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
528772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
529772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_fb_spk_prot_cfg {
530772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header		cal_hdr;
531772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data			cal_data;
532772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_spk_prot_cfg	cal_info;
533772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
534772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
535772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_fb_spk_prot_cfg {
536772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header			hdr;
537772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_fb_spk_prot_cfg	cal_type;
538772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
539772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
540464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_th_vi_ftm_cfg {
541464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_header		cal_hdr;
542464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_data			cal_data;
543464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_info_sp_th_vi_ftm_cfg	cal_info;
544464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
545464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
546464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_th_vi_ftm_cfg {
547464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_header			hdr;
548464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_sp_th_vi_ftm_cfg	cal_type;
549464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
550464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
551464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_ex_vi_ftm_cfg {
552464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_header		cal_hdr;
553464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_data			cal_data;
554464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_info_sp_ex_vi_ftm_cfg	cal_info;
555464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
556464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
557464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_ex_vi_ftm_cfg {
558464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_header			hdr;
559464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_sp_ex_vi_ftm_cfg	cal_type;
560464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
561772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_hw_delay {
562772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
563772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
564772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_hw_delay	cal_info;
565772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
566772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
567772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_hw_delay {
568772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
569772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_hw_delay	cal_type;
570772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
571772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
572772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_sidetone {
573772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header		cal_hdr;
574772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data			cal_data;
575772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_sidetone		cal_info;
576772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
577772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
578772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_sidetone {
579772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header			hdr;
580772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_sidetone		cal_type;
581772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
582772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
583772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_lsm_top {
584772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
585772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
586772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_lsm_top	cal_info;
587772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
588772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
589772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_lsm_top {
590772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
591772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_lsm_top	cal_type;
592772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
593772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
594772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_lsm {
595772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
596772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
597772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_lsm	cal_info;
598772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
599772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
600772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_lsm {
601772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
602772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_lsm	cal_type;
603772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
604772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
605772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_voc_top {
606772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
607772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
608772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_voc_top	cal_info;
609772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
610772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
611772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_voc_top {
612772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
613772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_voc_top	cal_type;
614772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
615772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
616772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_vocproc {
617772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
618772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
619772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_vocproc	cal_info;
620772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
621772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
622772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_vocproc {
623772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
624772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_vocproc	cal_type;
625772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
626772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
627772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_vocvol {
628772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
629772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
630772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_vocvol	cal_info;
631772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
632772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
633772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_vocvol {
634772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
635772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_vocvol	cal_type;
636772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
637772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
638772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_vocdev_cfg {
639772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header		cal_hdr;
640772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data			cal_data;
641772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_vocdev_cfg	cal_info;
642772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
643772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
644772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_vocdev_cfg {
645772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header			hdr;
646772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_vocdev_cfg	cal_type;
647772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
648772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
649772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_voc_col {
650772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header	cal_hdr;
651772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data		cal_data;
652772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_voc_col	cal_info;
653772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
654772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
655772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_voc_col {
656772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header		hdr;
657772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_voc_col	cal_type;
658772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
659772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
660772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_GET_CALIBRATION */
661772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_fb_spk_prot_status {
662772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_header			cal_hdr;
663772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_data				cal_data;
664772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_info_msm_spk_prot_status	cal_info;
665772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
666772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
667772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_fb_spk_prot_status {
668772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_header				hdr;
669772b7facf972926b14fe303d0348c200cb20a313Prashant Malani	struct audio_cal_type_fb_spk_prot_status	cal_type;
670772b7facf972926b14fe303d0348c200cb20a313Prashant Malani};
671772b7facf972926b14fe303d0348c200cb20a313Prashant Malani
672464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_th_vi_param {
673464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_header			cal_hdr;
674464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_data				cal_data;
675464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_info_sp_th_vi_param		cal_info;
676464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
677464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
678464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_th_vi_param {
679464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_header				hdr;
680464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_sp_th_vi_param		cal_type;
681464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
682464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_ex_vi_param {
683464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_header			cal_hdr;
684464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_data				cal_data;
685464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_info_sp_ex_vi_param		cal_info;
686464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
687464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
688464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_ex_vi_param {
689464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_header				hdr;
690464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry	struct audio_cal_type_sp_ex_vi_param		cal_type;
691464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry};
692772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#endif /* _UAPI_MSM_AUDIO_CALIBRATION_H */
693