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