• 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   MAX_CAL_TYPES,
95 };
96 #define AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE
97 #define AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE
98 #define AFE_SIDETONE_IIR_CAL_TYPE AFE_SIDETONE_IIR_CAL_TYPE
99 #define AFE_LSM_TOPOLOGY_CAL_TYPE AFE_LSM_TOPOLOGY_CAL_TYPE
100 #define AFE_LSM_TX_CAL_TYPE AFE_LSM_TX_CAL_TYPE
101 #define ADM_LSM_TOPOLOGY_CAL_TYPE ADM_LSM_TOPOLOGY_CAL_TYPE
102 #define ADM_LSM_AUDPROC_CAL_TYPE ADM_LSM_AUDPROC_CAL_TYPE
103 #define ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE
104 #define ADM_AUDPROC_PERSISTENT_CAL_TYPE ADM_AUDPROC_PERSISTENT_CAL_TYPE
105 #define LSM_CAL_TYPES
106 #define TOPOLOGY_SPECIFIC_CHANNEL_INFO
107 #define MSM_SPKR_PROT_SPV3
108 enum {
109   VERSION_0_0,
110 };
111 enum {
112   PER_VOCODER_CAL_BIT_MASK = 0x10000,
113 };
114 #define MAX_IOCTL_CMD_SIZE 512
115 struct audio_cal_header {
116   int32_t data_size;
117   int32_t version;
118   int32_t cal_type;
119   int32_t cal_type_size;
120 };
121 struct audio_cal_type_header {
122   int32_t version;
123   int32_t buffer_number;
124 };
125 struct audio_cal_data {
126   int32_t cal_size;
127   int32_t mem_handle;
128 };
129 struct audio_cal_type_alloc {
130   struct audio_cal_type_header cal_hdr;
131   struct audio_cal_data cal_data;
132 };
133 struct audio_cal_alloc {
134   struct audio_cal_header hdr;
135   struct audio_cal_type_alloc cal_type;
136 };
137 struct audio_cal_type_dealloc {
138   struct audio_cal_type_header cal_hdr;
139   struct audio_cal_data cal_data;
140 };
141 struct audio_cal_dealloc {
142   struct audio_cal_header hdr;
143   struct audio_cal_type_dealloc cal_type;
144 };
145 struct audio_cal_type_prepare {
146   struct audio_cal_type_header cal_hdr;
147   struct audio_cal_data cal_data;
148 };
149 struct audio_cal_prepare {
150   struct audio_cal_header hdr;
151   struct audio_cal_type_prepare cal_type;
152 };
153 struct audio_cal_type_post {
154   struct audio_cal_type_header cal_hdr;
155   struct audio_cal_data cal_data;
156 };
157 struct audio_cal_post {
158   struct audio_cal_header hdr;
159   struct audio_cal_type_post cal_type;
160 };
161 struct audio_cal_info_metainfo {
162   uint32_t nKey;
163 };
164 enum {
165   RX_DEVICE,
166   TX_DEVICE,
167   MAX_PATH_TYPE
168 };
169 struct audio_cal_info_adm_top {
170   int32_t topology;
171   int32_t acdb_id;
172   int32_t path;
173   int32_t app_type;
174   int32_t sample_rate;
175 };
176 struct audio_cal_info_audproc {
177   int32_t acdb_id;
178   int32_t path;
179   int32_t app_type;
180   int32_t sample_rate;
181 };
182 struct audio_cal_info_audvol {
183   int32_t acdb_id;
184   int32_t path;
185   int32_t app_type;
186   int32_t vol_index;
187 };
188 struct audio_cal_info_afe {
189   int32_t acdb_id;
190   int32_t path;
191   int32_t sample_rate;
192 };
193 struct audio_cal_info_afe_top {
194   int32_t topology;
195   int32_t acdb_id;
196   int32_t path;
197   int32_t sample_rate;
198 };
199 struct audio_cal_info_asm_top {
200   int32_t topology;
201   int32_t app_type;
202 };
203 struct audio_cal_info_audstrm {
204   int32_t app_type;
205 };
206 struct audio_cal_info_aanc {
207   int32_t acdb_id;
208 };
209 #define MAX_HW_DELAY_ENTRIES 25
210 struct audio_cal_hw_delay_entry {
211   uint32_t sample_rate;
212   uint32_t delay_usec;
213 };
214 struct audio_cal_hw_delay_data {
215   uint32_t num_entries;
216   struct audio_cal_hw_delay_entry entry[MAX_HW_DELAY_ENTRIES];
217 };
218 struct audio_cal_info_hw_delay {
219   int32_t acdb_id;
220   int32_t path;
221   int32_t property_type;
222   struct audio_cal_hw_delay_data data;
223 };
224 enum msm_spkr_prot_states {
225   MSM_SPKR_PROT_CALIBRATED,
226   MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS,
227   MSM_SPKR_PROT_DISABLED,
228   MSM_SPKR_PROT_NOT_CALIBRATED,
229   MSM_SPKR_PROT_PRE_CALIBRATED,
230   MSM_SPKR_PROT_IN_FTM_MODE,
231   MSM_SPKR_PROT_IN_V_VALI_MODE
232 };
233 #define MSM_SPKR_PROT_IN_FTM_MODE MSM_SPKR_PROT_IN_FTM_MODE
234 #define MSM_SPKR_PROT_IN_V_VALI_MODE MSM_SPKR_PROT_IN_V_VALI_MODE
235 enum msm_spkr_count {
236   SP_V2_SPKR_1,
237   SP_V2_SPKR_2,
238   SP_V2_NUM_MAX_SPKRS
239 };
240 struct audio_cal_info_spk_prot_cfg {
241   int32_t r0[SP_V2_NUM_MAX_SPKRS];
242   int32_t t0[SP_V2_NUM_MAX_SPKRS];
243   uint32_t quick_calib_flag;
244   uint32_t mode;
245 #ifdef MSM_SPKR_PROT_SPV3
246   uint32_t sp_version;
247   int32_t limiter_th[SP_V2_NUM_MAX_SPKRS];
248 #endif
249 };
250 struct audio_cal_info_sp_th_vi_ftm_cfg {
251   uint32_t mode;
252   uint32_t wait_time[SP_V2_NUM_MAX_SPKRS];
253   uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS];
254 };
255 struct audio_cal_info_sp_th_vi_v_vali_cfg {
256   uint32_t mode;
257   uint32_t wait_time[SP_V2_NUM_MAX_SPKRS];
258   uint32_t vali_time[SP_V2_NUM_MAX_SPKRS];
259 };
260 struct audio_cal_info_sp_ex_vi_ftm_cfg {
261   uint32_t wait_time[SP_V2_NUM_MAX_SPKRS];
262   uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS];
263   uint32_t mode;
264 };
265 struct audio_cal_info_sp_ex_vi_param {
266   int32_t freq_q20[SP_V2_NUM_MAX_SPKRS];
267   int32_t resis_q24[SP_V2_NUM_MAX_SPKRS];
268   int32_t qmct_q24[SP_V2_NUM_MAX_SPKRS];
269   int32_t status[SP_V2_NUM_MAX_SPKRS];
270 };
271 struct audio_cal_info_sp_th_vi_param {
272   uint32_t mode;
273   int32_t r_dc_q24[SP_V2_NUM_MAX_SPKRS];
274   int32_t temp_q22[SP_V2_NUM_MAX_SPKRS];
275   int32_t status[SP_V2_NUM_MAX_SPKRS];
276 };
277 struct audio_cal_info_sp_th_vi_v_vali_param {
278   uint32_t mode;
279   uint32_t vrms_q24[SP_V2_NUM_MAX_SPKRS];
280   int32_t status[SP_V2_NUM_MAX_SPKRS];
281 };
282 struct audio_cal_info_msm_spk_prot_status {
283   int32_t r0[SP_V2_NUM_MAX_SPKRS];
284   int32_t status;
285 };
286 struct audio_cal_info_sidetone {
287   uint16_t enable;
288   uint16_t gain;
289   int32_t tx_acdb_id;
290   int32_t rx_acdb_id;
291   int32_t mid;
292   int32_t pid;
293 };
294 #define MAX_SIDETONE_IIR_DATA_SIZE 224
295 #define MAX_NO_IIR_FILTER_STAGE 10
296 struct audio_cal_info_sidetone_iir {
297   uint16_t iir_enable;
298   uint16_t num_biquad_stages;
299   uint16_t pregain;
300   int32_t tx_acdb_id;
301   int32_t rx_acdb_id;
302   int32_t mid;
303   int32_t pid;
304   uint8_t iir_config[MAX_SIDETONE_IIR_DATA_SIZE];
305 };
306 struct audio_cal_info_lsm_top {
307   int32_t topology;
308   int32_t acdb_id;
309   int32_t app_type;
310 };
311 struct audio_cal_info_lsm {
312   int32_t acdb_id;
313   int32_t path;
314   int32_t app_type;
315 };
316 #define VSS_NUM_CHANNELS_MAX 32
317 struct audio_cal_info_voc_top {
318   int32_t topology;
319   int32_t acdb_id;
320 #ifdef TOPOLOGY_SPECIFIC_CHANNEL_INFO
321   uint32_t num_channels;
322   uint8_t channel_mapping[VSS_NUM_CHANNELS_MAX];
323 #endif
324 };
325 struct audio_cal_info_vocproc {
326   int32_t tx_acdb_id;
327   int32_t rx_acdb_id;
328   int32_t tx_sample_rate;
329   int32_t rx_sample_rate;
330 };
331 enum {
332   DEFAULT_FEATURE_SET,
333   VOL_BOOST_FEATURE_SET,
334 };
335 struct audio_cal_info_vocvol {
336   int32_t tx_acdb_id;
337   int32_t rx_acdb_id;
338   int32_t feature_set;
339 };
340 struct audio_cal_info_vocdev_cfg {
341   int32_t tx_acdb_id;
342   int32_t rx_acdb_id;
343 };
344 #define MAX_VOICE_COLUMNS 20
345 union audio_cal_col_na {
346   uint8_t val8;
347   uint16_t val16;
348   uint32_t val32;
349   uint64_t val64;
350 } __attribute__((packed));
351 struct audio_cal_col {
352   uint32_t id;
353   uint32_t type;
354   union audio_cal_col_na na_value;
355 } __attribute__((packed));
356 struct audio_cal_col_data {
357   uint32_t num_columns;
358   struct audio_cal_col column[MAX_VOICE_COLUMNS];
359 } __attribute__((packed));
360 struct audio_cal_info_voc_col {
361   int32_t table_id;
362   int32_t tx_acdb_id;
363   int32_t rx_acdb_id;
364   struct audio_cal_col_data data;
365 };
366 struct audio_cal_type_basic {
367   struct audio_cal_type_header cal_hdr;
368   struct audio_cal_data cal_data;
369 };
370 struct audio_cal_basic {
371   struct audio_cal_header hdr;
372   struct audio_cal_type_basic cal_type;
373 };
374 struct audio_cal_type_adm_top {
375   struct audio_cal_type_header cal_hdr;
376   struct audio_cal_data cal_data;
377   struct audio_cal_info_adm_top cal_info;
378 };
379 struct audio_cal_adm_top {
380   struct audio_cal_header hdr;
381   struct audio_cal_type_adm_top cal_type;
382 };
383 struct audio_cal_type_metainfo {
384   struct audio_cal_type_header cal_hdr;
385   struct audio_cal_data cal_data;
386   struct audio_cal_info_metainfo cal_info;
387 };
388 struct audio_core_metainfo {
389   struct audio_cal_header hdr;
390   struct audio_cal_type_metainfo cal_type;
391 };
392 struct audio_cal_type_audproc {
393   struct audio_cal_type_header cal_hdr;
394   struct audio_cal_data cal_data;
395   struct audio_cal_info_audproc cal_info;
396 };
397 struct audio_cal_audproc {
398   struct audio_cal_header hdr;
399   struct audio_cal_type_audproc cal_type;
400 };
401 struct audio_cal_type_audvol {
402   struct audio_cal_type_header cal_hdr;
403   struct audio_cal_data cal_data;
404   struct audio_cal_info_audvol cal_info;
405 };
406 struct audio_cal_audvol {
407   struct audio_cal_header hdr;
408   struct audio_cal_type_audvol cal_type;
409 };
410 struct audio_cal_type_asm_top {
411   struct audio_cal_type_header cal_hdr;
412   struct audio_cal_data cal_data;
413   struct audio_cal_info_asm_top cal_info;
414 };
415 struct audio_cal_asm_top {
416   struct audio_cal_header hdr;
417   struct audio_cal_type_asm_top cal_type;
418 };
419 struct audio_cal_type_audstrm {
420   struct audio_cal_type_header cal_hdr;
421   struct audio_cal_data cal_data;
422   struct audio_cal_info_audstrm cal_info;
423 };
424 struct audio_cal_audstrm {
425   struct audio_cal_header hdr;
426   struct audio_cal_type_audstrm cal_type;
427 };
428 struct audio_cal_type_afe {
429   struct audio_cal_type_header cal_hdr;
430   struct audio_cal_data cal_data;
431   struct audio_cal_info_afe cal_info;
432 };
433 struct audio_cal_afe {
434   struct audio_cal_header hdr;
435   struct audio_cal_type_afe cal_type;
436 };
437 struct audio_cal_type_afe_top {
438   struct audio_cal_type_header cal_hdr;
439   struct audio_cal_data cal_data;
440   struct audio_cal_info_afe_top cal_info;
441 };
442 struct audio_cal_afe_top {
443   struct audio_cal_header hdr;
444   struct audio_cal_type_afe_top cal_type;
445 };
446 struct audio_cal_type_aanc {
447   struct audio_cal_type_header cal_hdr;
448   struct audio_cal_data cal_data;
449   struct audio_cal_info_aanc cal_info;
450 };
451 struct audio_cal_aanc {
452   struct audio_cal_header hdr;
453   struct audio_cal_type_aanc cal_type;
454 };
455 struct audio_cal_type_fb_spk_prot_cfg {
456   struct audio_cal_type_header cal_hdr;
457   struct audio_cal_data cal_data;
458   struct audio_cal_info_spk_prot_cfg cal_info;
459 };
460 struct audio_cal_fb_spk_prot_cfg {
461   struct audio_cal_header hdr;
462   struct audio_cal_type_fb_spk_prot_cfg cal_type;
463 };
464 struct audio_cal_type_sp_th_vi_ftm_cfg {
465   struct audio_cal_type_header cal_hdr;
466   struct audio_cal_data cal_data;
467   struct audio_cal_info_sp_th_vi_ftm_cfg cal_info;
468 };
469 struct audio_cal_sp_th_vi_ftm_cfg {
470   struct audio_cal_header hdr;
471   struct audio_cal_type_sp_th_vi_ftm_cfg cal_type;
472 };
473 struct audio_cal_type_sp_th_vi_v_vali_cfg {
474   struct audio_cal_type_header cal_hdr;
475   struct audio_cal_data cal_data;
476   struct audio_cal_info_sp_th_vi_v_vali_cfg cal_info;
477 };
478 struct audio_cal_sp_th_vi_v_vali_cfg {
479   struct audio_cal_header hdr;
480   struct audio_cal_type_sp_th_vi_v_vali_cfg cal_type;
481 };
482 struct audio_cal_type_sp_ex_vi_ftm_cfg {
483   struct audio_cal_type_header cal_hdr;
484   struct audio_cal_data cal_data;
485   struct audio_cal_info_sp_ex_vi_ftm_cfg cal_info;
486 };
487 struct audio_cal_sp_ex_vi_ftm_cfg {
488   struct audio_cal_header hdr;
489   struct audio_cal_type_sp_ex_vi_ftm_cfg cal_type;
490 };
491 struct audio_cal_type_hw_delay {
492   struct audio_cal_type_header cal_hdr;
493   struct audio_cal_data cal_data;
494   struct audio_cal_info_hw_delay cal_info;
495 };
496 struct audio_cal_hw_delay {
497   struct audio_cal_header hdr;
498   struct audio_cal_type_hw_delay cal_type;
499 };
500 struct audio_cal_type_sidetone {
501   struct audio_cal_type_header cal_hdr;
502   struct audio_cal_data cal_data;
503   struct audio_cal_info_sidetone cal_info;
504 };
505 struct audio_cal_sidetone {
506   struct audio_cal_header hdr;
507   struct audio_cal_type_sidetone cal_type;
508 };
509 struct audio_cal_type_sidetone_iir {
510   struct audio_cal_type_header cal_hdr;
511   struct audio_cal_data cal_data;
512   struct audio_cal_info_sidetone_iir cal_info;
513 };
514 struct audio_cal_sidetone_iir {
515   struct audio_cal_header hdr;
516   struct audio_cal_type_sidetone_iir cal_type;
517 };
518 struct audio_cal_type_lsm_top {
519   struct audio_cal_type_header cal_hdr;
520   struct audio_cal_data cal_data;
521   struct audio_cal_info_lsm_top cal_info;
522 };
523 struct audio_cal_lsm_top {
524   struct audio_cal_header hdr;
525   struct audio_cal_type_lsm_top cal_type;
526 };
527 struct audio_cal_type_lsm {
528   struct audio_cal_type_header cal_hdr;
529   struct audio_cal_data cal_data;
530   struct audio_cal_info_lsm cal_info;
531 };
532 struct audio_cal_lsm {
533   struct audio_cal_header hdr;
534   struct audio_cal_type_lsm cal_type;
535 };
536 struct audio_cal_type_voc_top {
537   struct audio_cal_type_header cal_hdr;
538   struct audio_cal_data cal_data;
539   struct audio_cal_info_voc_top cal_info;
540 };
541 struct audio_cal_voc_top {
542   struct audio_cal_header hdr;
543   struct audio_cal_type_voc_top cal_type;
544 };
545 struct audio_cal_type_vocproc {
546   struct audio_cal_type_header cal_hdr;
547   struct audio_cal_data cal_data;
548   struct audio_cal_info_vocproc cal_info;
549 };
550 struct audio_cal_vocproc {
551   struct audio_cal_header hdr;
552   struct audio_cal_type_vocproc cal_type;
553 };
554 struct audio_cal_type_vocvol {
555   struct audio_cal_type_header cal_hdr;
556   struct audio_cal_data cal_data;
557   struct audio_cal_info_vocvol cal_info;
558 };
559 struct audio_cal_vocvol {
560   struct audio_cal_header hdr;
561   struct audio_cal_type_vocvol cal_type;
562 };
563 struct audio_cal_type_vocdev_cfg {
564   struct audio_cal_type_header cal_hdr;
565   struct audio_cal_data cal_data;
566   struct audio_cal_info_vocdev_cfg cal_info;
567 };
568 struct audio_cal_vocdev_cfg {
569   struct audio_cal_header hdr;
570   struct audio_cal_type_vocdev_cfg cal_type;
571 };
572 struct audio_cal_type_voc_col {
573   struct audio_cal_type_header cal_hdr;
574   struct audio_cal_data cal_data;
575   struct audio_cal_info_voc_col cal_info;
576 };
577 struct audio_cal_voc_col {
578   struct audio_cal_header hdr;
579   struct audio_cal_type_voc_col cal_type;
580 };
581 struct audio_cal_type_fb_spk_prot_status {
582   struct audio_cal_type_header cal_hdr;
583   struct audio_cal_data cal_data;
584   struct audio_cal_info_msm_spk_prot_status cal_info;
585 };
586 struct audio_cal_fb_spk_prot_status {
587   struct audio_cal_header hdr;
588   struct audio_cal_type_fb_spk_prot_status cal_type;
589 };
590 struct audio_cal_type_sp_th_vi_param {
591   struct audio_cal_type_header cal_hdr;
592   struct audio_cal_data cal_data;
593   struct audio_cal_info_sp_th_vi_param cal_info;
594 };
595 struct audio_cal_sp_th_vi_param {
596   struct audio_cal_header hdr;
597   struct audio_cal_type_sp_th_vi_param cal_type;
598 };
599 struct audio_cal_type_sp_th_vi_v_vali_param {
600   struct audio_cal_type_header cal_hdr;
601   struct audio_cal_data cal_data;
602   struct audio_cal_info_sp_th_vi_v_vali_param cal_info;
603 };
604 struct audio_cal_sp_th_vi_v_vali_param {
605   struct audio_cal_header hdr;
606   struct audio_cal_type_sp_th_vi_v_vali_param cal_type;
607 };
608 struct audio_cal_type_sp_ex_vi_param {
609   struct audio_cal_type_header cal_hdr;
610   struct audio_cal_data cal_data;
611   struct audio_cal_info_sp_ex_vi_param cal_info;
612 };
613 struct audio_cal_sp_ex_vi_param {
614   struct audio_cal_header hdr;
615   struct audio_cal_type_sp_ex_vi_param cal_type;
616 };
617 #endif
618