• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _MSM_AUDIO_CALIBRATION_H
20 #define _MSM_AUDIO_CALIBRATION_H
21 #include <linux/types.h>
22 #include <linux/ioctl.h>
23 #define CAL_IOCTL_MAGIC 'a'
24 #define AUDIO_ALLOCATE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 200, void *)
25 #define AUDIO_DEALLOCATE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 201, void *)
26 #define AUDIO_PREPARE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 202, void *)
27 #define AUDIO_SET_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 203, void *)
28 #define AUDIO_GET_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 204, void *)
29 #define AUDIO_POST_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 205, void *)
30 #define AUDIO_GET_RTAC_ADM_INFO _IOR(CAL_IOCTL_MAGIC, 207, void *)
31 #define AUDIO_GET_RTAC_VOICE_INFO _IOR(CAL_IOCTL_MAGIC, 208, void *)
32 #define AUDIO_GET_RTAC_ADM_CAL _IOWR(CAL_IOCTL_MAGIC, 209, void *)
33 #define AUDIO_SET_RTAC_ADM_CAL _IOWR(CAL_IOCTL_MAGIC, 210, void *)
34 #define AUDIO_GET_RTAC_ASM_CAL _IOWR(CAL_IOCTL_MAGIC, 211, void *)
35 #define AUDIO_SET_RTAC_ASM_CAL _IOWR(CAL_IOCTL_MAGIC, 212, void *)
36 #define AUDIO_GET_RTAC_CVS_CAL _IOWR(CAL_IOCTL_MAGIC, 213, void *)
37 #define AUDIO_SET_RTAC_CVS_CAL _IOWR(CAL_IOCTL_MAGIC, 214, void *)
38 #define AUDIO_GET_RTAC_CVP_CAL _IOWR(CAL_IOCTL_MAGIC, 215, void *)
39 #define AUDIO_SET_RTAC_CVP_CAL _IOWR(CAL_IOCTL_MAGIC, 216, void *)
40 #define AUDIO_GET_RTAC_AFE_CAL _IOWR(CAL_IOCTL_MAGIC, 217, void *)
41 #define AUDIO_SET_RTAC_AFE_CAL _IOWR(CAL_IOCTL_MAGIC, 218, void *)
42 enum {
43   CVP_VOC_RX_TOPOLOGY_CAL_TYPE = 0,
44   CVP_VOC_TX_TOPOLOGY_CAL_TYPE,
45   CVP_VOCPROC_STATIC_CAL_TYPE,
46   CVP_VOCPROC_DYNAMIC_CAL_TYPE,
47   CVS_VOCSTRM_STATIC_CAL_TYPE,
48   CVP_VOCDEV_CFG_CAL_TYPE,
49   CVP_VOCPROC_STATIC_COL_CAL_TYPE,
50   CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE,
51   CVS_VOCSTRM_STATIC_COL_CAL_TYPE,
52   ADM_TOPOLOGY_CAL_TYPE,
53   ADM_CUST_TOPOLOGY_CAL_TYPE,
54   ADM_AUDPROC_CAL_TYPE,
55   ADM_AUDVOL_CAL_TYPE,
56   ASM_TOPOLOGY_CAL_TYPE,
57   ASM_CUST_TOPOLOGY_CAL_TYPE,
58   ASM_AUDSTRM_CAL_TYPE,
59   AFE_COMMON_RX_CAL_TYPE,
60   AFE_COMMON_TX_CAL_TYPE,
61   AFE_ANC_CAL_TYPE,
62   AFE_AANC_CAL_TYPE,
63   AFE_FB_SPKR_PROT_CAL_TYPE,
64   AFE_HW_DELAY_CAL_TYPE,
65   AFE_SIDETONE_CAL_TYPE,
66   AFE_TOPOLOGY_CAL_TYPE,
67   AFE_CUST_TOPOLOGY_CAL_TYPE,
68   LSM_CUST_TOPOLOGY_CAL_TYPE,
69   LSM_TOPOLOGY_CAL_TYPE,
70   LSM_CAL_TYPE,
71   ADM_RTAC_INFO_CAL_TYPE,
72   VOICE_RTAC_INFO_CAL_TYPE,
73   ADM_RTAC_APR_CAL_TYPE,
74   ASM_RTAC_APR_CAL_TYPE,
75   VOICE_RTAC_APR_CAL_TYPE,
76   MAD_CAL_TYPE,
77   ULP_AFE_CAL_TYPE,
78   ULP_LSM_CAL_TYPE,
79   DTS_EAGLE_CAL_TYPE,
80   AUDIO_CORE_METAINFO_CAL_TYPE,
81   SRS_TRUMEDIA_CAL_TYPE,
82   CORE_CUSTOM_TOPOLOGIES_CAL_TYPE,
83   ADM_RTAC_AUDVOL_CAL_TYPE,
84   ULP_LSM_TOPOLOGY_ID_CAL_TYPE,
85   AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE,
86   AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE,
87   AFE_SIDETONE_IIR_CAL_TYPE,
88   AFE_LSM_TOPOLOGY_CAL_TYPE,
89   AFE_LSM_TX_CAL_TYPE,
90   ADM_LSM_TOPOLOGY_CAL_TYPE,
91   ADM_LSM_AUDPROC_CAL_TYPE,
92   ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE,
93   ADM_AUDPROC_PERSISTENT_CAL_TYPE,
94   AFE_FB_SPKR_PROT_V4_EX_VI_CAL_TYPE,
95   MAX_CAL_TYPES,
96 };
97 #define AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE
98 #define AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE
99 #define AFE_FB_SPKR_PROT_V4_EX_VI_CAL_TYPE AFE_FB_SPKR_PROT_V4_EX_VI_CAL_TYPE
100 #define AFE_SIDETONE_IIR_CAL_TYPE AFE_SIDETONE_IIR_CAL_TYPE
101 #define AFE_LSM_TOPOLOGY_CAL_TYPE AFE_LSM_TOPOLOGY_CAL_TYPE
102 #define AFE_LSM_TX_CAL_TYPE AFE_LSM_TX_CAL_TYPE
103 #define ADM_LSM_TOPOLOGY_CAL_TYPE ADM_LSM_TOPOLOGY_CAL_TYPE
104 #define ADM_LSM_AUDPROC_CAL_TYPE ADM_LSM_AUDPROC_CAL_TYPE
105 #define ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE
106 #define ADM_AUDPROC_PERSISTENT_CAL_TYPE ADM_AUDPROC_PERSISTENT_CAL_TYPE
107 #define LSM_CAL_TYPES
108 #define TOPOLOGY_SPECIFIC_CHANNEL_INFO
109 #define MSM_SPKR_PROT_SPV3
110 #define MSM_SPKR_PROT_SPV4
111 enum {
112   VERSION_0_0,
113 };
114 enum {
115   PER_VOCODER_CAL_BIT_MASK = 0x10000,
116 };
117 #define MAX_IOCTL_CMD_SIZE 512
118 struct audio_cal_header {
119   int32_t data_size;
120   int32_t version;
121   int32_t cal_type;
122   int32_t cal_type_size;
123 };
124 struct audio_cal_type_header {
125   int32_t version;
126   int32_t buffer_number;
127 };
128 struct audio_cal_data {
129   int32_t cal_size;
130   int32_t mem_handle;
131 };
132 struct audio_cal_type_alloc {
133   struct audio_cal_type_header cal_hdr;
134   struct audio_cal_data cal_data;
135 };
136 struct audio_cal_alloc {
137   struct audio_cal_header hdr;
138   struct audio_cal_type_alloc cal_type;
139 };
140 struct audio_cal_type_dealloc {
141   struct audio_cal_type_header cal_hdr;
142   struct audio_cal_data cal_data;
143 };
144 struct audio_cal_dealloc {
145   struct audio_cal_header hdr;
146   struct audio_cal_type_dealloc cal_type;
147 };
148 struct audio_cal_type_prepare {
149   struct audio_cal_type_header cal_hdr;
150   struct audio_cal_data cal_data;
151 };
152 struct audio_cal_prepare {
153   struct audio_cal_header hdr;
154   struct audio_cal_type_prepare cal_type;
155 };
156 struct audio_cal_type_post {
157   struct audio_cal_type_header cal_hdr;
158   struct audio_cal_data cal_data;
159 };
160 struct audio_cal_post {
161   struct audio_cal_header hdr;
162   struct audio_cal_type_post cal_type;
163 };
164 struct audio_cal_info_metainfo {
165   uint32_t nKey;
166 };
167 enum {
168   RX_DEVICE,
169   TX_DEVICE,
170   MAX_PATH_TYPE
171 };
172 struct audio_cal_info_adm_top {
173   int32_t topology;
174   int32_t acdb_id;
175   int32_t path;
176   int32_t app_type;
177   int32_t sample_rate;
178 };
179 struct audio_cal_info_audproc {
180   int32_t acdb_id;
181   int32_t path;
182   int32_t app_type;
183   int32_t sample_rate;
184 };
185 struct audio_cal_info_audvol {
186   int32_t acdb_id;
187   int32_t path;
188   int32_t app_type;
189   int32_t vol_index;
190 };
191 struct audio_cal_info_afe {
192   int32_t acdb_id;
193   int32_t path;
194   int32_t sample_rate;
195 };
196 struct audio_cal_info_afe_top {
197   int32_t topology;
198   int32_t acdb_id;
199   int32_t path;
200   int32_t sample_rate;
201 };
202 struct audio_cal_info_asm_top {
203   int32_t topology;
204   int32_t app_type;
205 };
206 struct audio_cal_info_audstrm {
207   int32_t app_type;
208 };
209 struct audio_cal_info_aanc {
210   int32_t acdb_id;
211 };
212 #define MAX_HW_DELAY_ENTRIES 25
213 struct audio_cal_hw_delay_entry {
214   uint32_t sample_rate;
215   uint32_t delay_usec;
216 };
217 struct audio_cal_hw_delay_data {
218   uint32_t num_entries;
219   struct audio_cal_hw_delay_entry entry[MAX_HW_DELAY_ENTRIES];
220 };
221 struct audio_cal_info_hw_delay {
222   int32_t acdb_id;
223   int32_t path;
224   int32_t property_type;
225   struct audio_cal_hw_delay_data data;
226 };
227 enum msm_spkr_prot_states {
228   MSM_SPKR_PROT_CALIBRATED,
229   MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS,
230   MSM_SPKR_PROT_DISABLED,
231   MSM_SPKR_PROT_NOT_CALIBRATED,
232   MSM_SPKR_PROT_PRE_CALIBRATED,
233   MSM_SPKR_PROT_IN_FTM_MODE,
234   MSM_SPKR_PROT_IN_V_VALI_MODE
235 };
236 #define MSM_SPKR_PROT_IN_FTM_MODE MSM_SPKR_PROT_IN_FTM_MODE
237 #define MSM_SPKR_PROT_IN_V_VALI_MODE MSM_SPKR_PROT_IN_V_VALI_MODE
238 enum msm_spkr_count {
239   SP_V2_SPKR_1,
240   SP_V2_SPKR_2,
241   SP_V2_NUM_MAX_SPKRS
242 };
243 struct audio_cal_info_spk_prot_cfg {
244   int32_t r0[SP_V2_NUM_MAX_SPKRS];
245   int32_t t0[SP_V2_NUM_MAX_SPKRS];
246   uint32_t quick_calib_flag;
247   uint32_t mode;
248 #ifdef MSM_SPKR_PROT_SPV3
249   uint32_t sp_version;
250   int32_t limiter_th[SP_V2_NUM_MAX_SPKRS];
251 #endif
252 };
253 struct audio_cal_info_sp_th_vi_ftm_cfg {
254   uint32_t mode;
255   uint32_t wait_time[SP_V2_NUM_MAX_SPKRS];
256   uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS];
257 };
258 struct audio_cal_info_sp_th_vi_v_vali_cfg {
259   uint32_t mode;
260   uint32_t wait_time[SP_V2_NUM_MAX_SPKRS];
261   uint32_t vali_time[SP_V2_NUM_MAX_SPKRS];
262 };
263 struct audio_cal_info_sp_ex_vi_ftm_cfg {
264   uint32_t wait_time[SP_V2_NUM_MAX_SPKRS];
265   uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS];
266   uint32_t mode;
267 };
268 struct audio_cal_info_sp_ex_vi_param {
269   int32_t freq_q20[SP_V2_NUM_MAX_SPKRS];
270   int32_t resis_q24[SP_V2_NUM_MAX_SPKRS];
271   int32_t qmct_q24[SP_V2_NUM_MAX_SPKRS];
272   int32_t status[SP_V2_NUM_MAX_SPKRS];
273 };
274 struct audio_cal_info_sp_v4_ex_vi_param {
275   int32_t ftm_re_q24[SP_V2_NUM_MAX_SPKRS];
276   int32_t ftm_Bl_q24[SP_V2_NUM_MAX_SPKRS];
277   int32_t ftm_Rms_q24[SP_V2_NUM_MAX_SPKRS];
278   int32_t ftm_Kms_q24[SP_V2_NUM_MAX_SPKRS];
279   int32_t ftm_freq_q20[SP_V2_NUM_MAX_SPKRS];
280   int32_t ftm_Qms_q24[SP_V2_NUM_MAX_SPKRS];
281   uint32_t status[SP_V2_NUM_MAX_SPKRS];
282 };
283 struct audio_cal_info_sp_th_vi_param {
284   uint32_t mode;
285   int32_t r_dc_q24[SP_V2_NUM_MAX_SPKRS];
286   int32_t temp_q22[SP_V2_NUM_MAX_SPKRS];
287   int32_t status[SP_V2_NUM_MAX_SPKRS];
288 };
289 struct audio_cal_info_sp_th_vi_v_vali_param {
290   uint32_t mode;
291   uint32_t vrms_q24[SP_V2_NUM_MAX_SPKRS];
292   int32_t status[SP_V2_NUM_MAX_SPKRS];
293 };
294 struct audio_cal_info_msm_spk_prot_status {
295   int32_t r0[SP_V2_NUM_MAX_SPKRS];
296   int32_t status;
297 };
298 struct audio_cal_info_sidetone {
299   uint16_t enable;
300   uint16_t gain;
301   int32_t tx_acdb_id;
302   int32_t rx_acdb_id;
303   int32_t mid;
304   int32_t pid;
305 };
306 #define MAX_SIDETONE_IIR_DATA_SIZE 224
307 #define MAX_NO_IIR_FILTER_STAGE 10
308 struct audio_cal_info_sidetone_iir {
309   uint16_t iir_enable;
310   uint16_t num_biquad_stages;
311   uint16_t pregain;
312   int32_t tx_acdb_id;
313   int32_t rx_acdb_id;
314   int32_t mid;
315   int32_t pid;
316   uint8_t iir_config[MAX_SIDETONE_IIR_DATA_SIZE];
317 };
318 struct audio_cal_info_lsm_top {
319   int32_t topology;
320   int32_t acdb_id;
321   int32_t app_type;
322 };
323 struct audio_cal_info_lsm {
324   int32_t acdb_id;
325   int32_t path;
326   int32_t app_type;
327 };
328 #define VSS_NUM_CHANNELS_MAX 32
329 struct audio_cal_info_voc_top {
330   int32_t topology;
331   int32_t acdb_id;
332 #ifdef TOPOLOGY_SPECIFIC_CHANNEL_INFO
333   uint32_t num_channels;
334   uint8_t channel_mapping[VSS_NUM_CHANNELS_MAX];
335 #endif
336 };
337 struct audio_cal_info_vocproc {
338   int32_t tx_acdb_id;
339   int32_t rx_acdb_id;
340   int32_t tx_sample_rate;
341   int32_t rx_sample_rate;
342 };
343 enum {
344   DEFAULT_FEATURE_SET,
345   VOL_BOOST_FEATURE_SET,
346 };
347 struct audio_cal_info_vocvol {
348   int32_t tx_acdb_id;
349   int32_t rx_acdb_id;
350   int32_t feature_set;
351 };
352 struct audio_cal_info_vocdev_cfg {
353   int32_t tx_acdb_id;
354   int32_t rx_acdb_id;
355 };
356 #define MAX_VOICE_COLUMNS 20
357 union audio_cal_col_na {
358   uint8_t val8;
359   uint16_t val16;
360   uint32_t val32;
361   uint64_t val64;
362 } __attribute__((packed));
363 struct audio_cal_col {
364   uint32_t id;
365   uint32_t type;
366   union audio_cal_col_na na_value;
367 } __attribute__((packed));
368 struct audio_cal_col_data {
369   uint32_t num_columns;
370   struct audio_cal_col column[MAX_VOICE_COLUMNS];
371 } __attribute__((packed));
372 struct audio_cal_info_voc_col {
373   int32_t table_id;
374   int32_t tx_acdb_id;
375   int32_t rx_acdb_id;
376   struct audio_cal_col_data data;
377 };
378 struct audio_cal_type_basic {
379   struct audio_cal_type_header cal_hdr;
380   struct audio_cal_data cal_data;
381 };
382 struct audio_cal_basic {
383   struct audio_cal_header hdr;
384   struct audio_cal_type_basic cal_type;
385 };
386 struct audio_cal_type_adm_top {
387   struct audio_cal_type_header cal_hdr;
388   struct audio_cal_data cal_data;
389   struct audio_cal_info_adm_top cal_info;
390 };
391 struct audio_cal_adm_top {
392   struct audio_cal_header hdr;
393   struct audio_cal_type_adm_top cal_type;
394 };
395 struct audio_cal_type_metainfo {
396   struct audio_cal_type_header cal_hdr;
397   struct audio_cal_data cal_data;
398   struct audio_cal_info_metainfo cal_info;
399 };
400 struct audio_core_metainfo {
401   struct audio_cal_header hdr;
402   struct audio_cal_type_metainfo cal_type;
403 };
404 struct audio_cal_type_audproc {
405   struct audio_cal_type_header cal_hdr;
406   struct audio_cal_data cal_data;
407   struct audio_cal_info_audproc cal_info;
408 };
409 struct audio_cal_audproc {
410   struct audio_cal_header hdr;
411   struct audio_cal_type_audproc cal_type;
412 };
413 struct audio_cal_type_audvol {
414   struct audio_cal_type_header cal_hdr;
415   struct audio_cal_data cal_data;
416   struct audio_cal_info_audvol cal_info;
417 };
418 struct audio_cal_audvol {
419   struct audio_cal_header hdr;
420   struct audio_cal_type_audvol cal_type;
421 };
422 struct audio_cal_type_asm_top {
423   struct audio_cal_type_header cal_hdr;
424   struct audio_cal_data cal_data;
425   struct audio_cal_info_asm_top cal_info;
426 };
427 struct audio_cal_asm_top {
428   struct audio_cal_header hdr;
429   struct audio_cal_type_asm_top cal_type;
430 };
431 struct audio_cal_type_audstrm {
432   struct audio_cal_type_header cal_hdr;
433   struct audio_cal_data cal_data;
434   struct audio_cal_info_audstrm cal_info;
435 };
436 struct audio_cal_audstrm {
437   struct audio_cal_header hdr;
438   struct audio_cal_type_audstrm cal_type;
439 };
440 struct audio_cal_type_afe {
441   struct audio_cal_type_header cal_hdr;
442   struct audio_cal_data cal_data;
443   struct audio_cal_info_afe cal_info;
444 };
445 struct audio_cal_afe {
446   struct audio_cal_header hdr;
447   struct audio_cal_type_afe cal_type;
448 };
449 struct audio_cal_type_afe_top {
450   struct audio_cal_type_header cal_hdr;
451   struct audio_cal_data cal_data;
452   struct audio_cal_info_afe_top cal_info;
453 };
454 struct audio_cal_afe_top {
455   struct audio_cal_header hdr;
456   struct audio_cal_type_afe_top cal_type;
457 };
458 struct audio_cal_type_aanc {
459   struct audio_cal_type_header cal_hdr;
460   struct audio_cal_data cal_data;
461   struct audio_cal_info_aanc cal_info;
462 };
463 struct audio_cal_aanc {
464   struct audio_cal_header hdr;
465   struct audio_cal_type_aanc cal_type;
466 };
467 struct audio_cal_type_fb_spk_prot_cfg {
468   struct audio_cal_type_header cal_hdr;
469   struct audio_cal_data cal_data;
470   struct audio_cal_info_spk_prot_cfg cal_info;
471 };
472 struct audio_cal_fb_spk_prot_cfg {
473   struct audio_cal_header hdr;
474   struct audio_cal_type_fb_spk_prot_cfg cal_type;
475 };
476 struct audio_cal_type_sp_th_vi_ftm_cfg {
477   struct audio_cal_type_header cal_hdr;
478   struct audio_cal_data cal_data;
479   struct audio_cal_info_sp_th_vi_ftm_cfg cal_info;
480 };
481 struct audio_cal_sp_th_vi_ftm_cfg {
482   struct audio_cal_header hdr;
483   struct audio_cal_type_sp_th_vi_ftm_cfg cal_type;
484 };
485 struct audio_cal_type_sp_th_vi_v_vali_cfg {
486   struct audio_cal_type_header cal_hdr;
487   struct audio_cal_data cal_data;
488   struct audio_cal_info_sp_th_vi_v_vali_cfg cal_info;
489 };
490 struct audio_cal_sp_th_vi_v_vali_cfg {
491   struct audio_cal_header hdr;
492   struct audio_cal_type_sp_th_vi_v_vali_cfg cal_type;
493 };
494 struct audio_cal_type_sp_ex_vi_ftm_cfg {
495   struct audio_cal_type_header cal_hdr;
496   struct audio_cal_data cal_data;
497   struct audio_cal_info_sp_ex_vi_ftm_cfg cal_info;
498 };
499 struct audio_cal_sp_ex_vi_ftm_cfg {
500   struct audio_cal_header hdr;
501   struct audio_cal_type_sp_ex_vi_ftm_cfg cal_type;
502 };
503 struct audio_cal_type_hw_delay {
504   struct audio_cal_type_header cal_hdr;
505   struct audio_cal_data cal_data;
506   struct audio_cal_info_hw_delay cal_info;
507 };
508 struct audio_cal_hw_delay {
509   struct audio_cal_header hdr;
510   struct audio_cal_type_hw_delay cal_type;
511 };
512 struct audio_cal_type_sidetone {
513   struct audio_cal_type_header cal_hdr;
514   struct audio_cal_data cal_data;
515   struct audio_cal_info_sidetone cal_info;
516 };
517 struct audio_cal_sidetone {
518   struct audio_cal_header hdr;
519   struct audio_cal_type_sidetone cal_type;
520 };
521 struct audio_cal_type_sidetone_iir {
522   struct audio_cal_type_header cal_hdr;
523   struct audio_cal_data cal_data;
524   struct audio_cal_info_sidetone_iir cal_info;
525 };
526 struct audio_cal_sidetone_iir {
527   struct audio_cal_header hdr;
528   struct audio_cal_type_sidetone_iir cal_type;
529 };
530 struct audio_cal_type_lsm_top {
531   struct audio_cal_type_header cal_hdr;
532   struct audio_cal_data cal_data;
533   struct audio_cal_info_lsm_top cal_info;
534 };
535 struct audio_cal_lsm_top {
536   struct audio_cal_header hdr;
537   struct audio_cal_type_lsm_top cal_type;
538 };
539 struct audio_cal_type_lsm {
540   struct audio_cal_type_header cal_hdr;
541   struct audio_cal_data cal_data;
542   struct audio_cal_info_lsm cal_info;
543 };
544 struct audio_cal_lsm {
545   struct audio_cal_header hdr;
546   struct audio_cal_type_lsm cal_type;
547 };
548 struct audio_cal_type_voc_top {
549   struct audio_cal_type_header cal_hdr;
550   struct audio_cal_data cal_data;
551   struct audio_cal_info_voc_top cal_info;
552 };
553 struct audio_cal_voc_top {
554   struct audio_cal_header hdr;
555   struct audio_cal_type_voc_top cal_type;
556 };
557 struct audio_cal_type_vocproc {
558   struct audio_cal_type_header cal_hdr;
559   struct audio_cal_data cal_data;
560   struct audio_cal_info_vocproc cal_info;
561 };
562 struct audio_cal_vocproc {
563   struct audio_cal_header hdr;
564   struct audio_cal_type_vocproc cal_type;
565 };
566 struct audio_cal_type_vocvol {
567   struct audio_cal_type_header cal_hdr;
568   struct audio_cal_data cal_data;
569   struct audio_cal_info_vocvol cal_info;
570 };
571 struct audio_cal_vocvol {
572   struct audio_cal_header hdr;
573   struct audio_cal_type_vocvol cal_type;
574 };
575 struct audio_cal_type_vocdev_cfg {
576   struct audio_cal_type_header cal_hdr;
577   struct audio_cal_data cal_data;
578   struct audio_cal_info_vocdev_cfg cal_info;
579 };
580 struct audio_cal_vocdev_cfg {
581   struct audio_cal_header hdr;
582   struct audio_cal_type_vocdev_cfg cal_type;
583 };
584 struct audio_cal_type_voc_col {
585   struct audio_cal_type_header cal_hdr;
586   struct audio_cal_data cal_data;
587   struct audio_cal_info_voc_col cal_info;
588 };
589 struct audio_cal_voc_col {
590   struct audio_cal_header hdr;
591   struct audio_cal_type_voc_col cal_type;
592 };
593 struct audio_cal_type_fb_spk_prot_status {
594   struct audio_cal_type_header cal_hdr;
595   struct audio_cal_data cal_data;
596   struct audio_cal_info_msm_spk_prot_status cal_info;
597 };
598 struct audio_cal_fb_spk_prot_status {
599   struct audio_cal_header hdr;
600   struct audio_cal_type_fb_spk_prot_status cal_type;
601 };
602 struct audio_cal_type_sp_th_vi_param {
603   struct audio_cal_type_header cal_hdr;
604   struct audio_cal_data cal_data;
605   struct audio_cal_info_sp_th_vi_param cal_info;
606 };
607 struct audio_cal_sp_th_vi_param {
608   struct audio_cal_header hdr;
609   struct audio_cal_type_sp_th_vi_param cal_type;
610 };
611 struct audio_cal_type_sp_th_vi_v_vali_param {
612   struct audio_cal_type_header cal_hdr;
613   struct audio_cal_data cal_data;
614   struct audio_cal_info_sp_th_vi_v_vali_param cal_info;
615 };
616 struct audio_cal_sp_th_vi_v_vali_param {
617   struct audio_cal_header hdr;
618   struct audio_cal_type_sp_th_vi_v_vali_param cal_type;
619 };
620 struct audio_cal_type_sp_ex_vi_param {
621   struct audio_cal_type_header cal_hdr;
622   struct audio_cal_data cal_data;
623   struct audio_cal_info_sp_ex_vi_param cal_info;
624 };
625 struct audio_cal_sp_ex_vi_param {
626   struct audio_cal_header hdr;
627   struct audio_cal_type_sp_ex_vi_param cal_type;
628 };
629 struct audio_cal_type_sp_v4_ex_vi_param {
630   struct audio_cal_type_header cal_hdr;
631   struct audio_cal_data cal_data;
632   struct audio_cal_info_sp_v4_ex_vi_param cal_info;
633 };
634 struct audio_cal_sp_v4_ex_vi_param {
635   struct audio_cal_header hdr;
636   struct audio_cal_type_sp_v4_ex_vi_param cal_type;
637 };
638 #endif
639