1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef _MSM_AUDIO_CALIBRATION_H 8 #define _MSM_AUDIO_CALIBRATION_H 9 #include <linux/types.h> 10 #include <linux/ioctl.h> 11 #define CAL_IOCTL_MAGIC 'a' 12 #define AUDIO_ALLOCATE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 200, void *) 13 #define AUDIO_DEALLOCATE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 201, void *) 14 #define AUDIO_PREPARE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 202, void *) 15 #define AUDIO_SET_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 203, void *) 16 #define AUDIO_GET_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 204, void *) 17 #define AUDIO_POST_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, 205, void *) 18 #define AUDIO_GET_RTAC_ADM_INFO _IOR(CAL_IOCTL_MAGIC, 207, void *) 19 #define AUDIO_GET_RTAC_VOICE_INFO _IOR(CAL_IOCTL_MAGIC, 208, void *) 20 #define AUDIO_GET_RTAC_ADM_CAL _IOWR(CAL_IOCTL_MAGIC, 209, void *) 21 #define AUDIO_SET_RTAC_ADM_CAL _IOWR(CAL_IOCTL_MAGIC, 210, void *) 22 #define AUDIO_GET_RTAC_ASM_CAL _IOWR(CAL_IOCTL_MAGIC, 211, void *) 23 #define AUDIO_SET_RTAC_ASM_CAL _IOWR(CAL_IOCTL_MAGIC, 212, void *) 24 #define AUDIO_GET_RTAC_CVS_CAL _IOWR(CAL_IOCTL_MAGIC, 213, void *) 25 #define AUDIO_SET_RTAC_CVS_CAL _IOWR(CAL_IOCTL_MAGIC, 214, void *) 26 #define AUDIO_GET_RTAC_CVP_CAL _IOWR(CAL_IOCTL_MAGIC, 215, void *) 27 #define AUDIO_SET_RTAC_CVP_CAL _IOWR(CAL_IOCTL_MAGIC, 216, void *) 28 #define AUDIO_GET_RTAC_AFE_CAL _IOWR(CAL_IOCTL_MAGIC, 217, void *) 29 #define AUDIO_SET_RTAC_AFE_CAL _IOWR(CAL_IOCTL_MAGIC, 218, void *) 30 enum { 31 CVP_VOC_RX_TOPOLOGY_CAL_TYPE = 0, 32 CVP_VOC_TX_TOPOLOGY_CAL_TYPE, 33 CVP_VOCPROC_STATIC_CAL_TYPE, 34 CVP_VOCPROC_DYNAMIC_CAL_TYPE, 35 CVS_VOCSTRM_STATIC_CAL_TYPE, 36 CVP_VOCDEV_CFG_CAL_TYPE, 37 CVP_VOCPROC_STATIC_COL_CAL_TYPE, 38 CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE, 39 CVS_VOCSTRM_STATIC_COL_CAL_TYPE, 40 ADM_TOPOLOGY_CAL_TYPE, 41 ADM_CUST_TOPOLOGY_CAL_TYPE, 42 ADM_AUDPROC_CAL_TYPE, 43 ADM_AUDVOL_CAL_TYPE, 44 ASM_TOPOLOGY_CAL_TYPE, 45 ASM_CUST_TOPOLOGY_CAL_TYPE, 46 ASM_AUDSTRM_CAL_TYPE, 47 AFE_COMMON_RX_CAL_TYPE, 48 AFE_COMMON_TX_CAL_TYPE, 49 AFE_ANC_CAL_TYPE, 50 AFE_AANC_CAL_TYPE, 51 AFE_FB_SPKR_PROT_CAL_TYPE, 52 AFE_HW_DELAY_CAL_TYPE, 53 AFE_SIDETONE_CAL_TYPE, 54 AFE_TOPOLOGY_CAL_TYPE, 55 AFE_CUST_TOPOLOGY_CAL_TYPE, 56 LSM_CUST_TOPOLOGY_CAL_TYPE, 57 LSM_TOPOLOGY_CAL_TYPE, 58 LSM_CAL_TYPE, 59 ADM_RTAC_INFO_CAL_TYPE, 60 VOICE_RTAC_INFO_CAL_TYPE, 61 ADM_RTAC_APR_CAL_TYPE, 62 ASM_RTAC_APR_CAL_TYPE, 63 VOICE_RTAC_APR_CAL_TYPE, 64 MAD_CAL_TYPE, 65 ULP_AFE_CAL_TYPE, 66 ULP_LSM_CAL_TYPE, 67 DTS_EAGLE_CAL_TYPE, 68 AUDIO_CORE_METAINFO_CAL_TYPE, 69 SRS_TRUMEDIA_CAL_TYPE, 70 CORE_CUSTOM_TOPOLOGIES_CAL_TYPE, 71 ADM_RTAC_AUDVOL_CAL_TYPE, 72 ULP_LSM_TOPOLOGY_ID_CAL_TYPE, 73 AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE, 74 AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE, 75 AFE_SIDETONE_IIR_CAL_TYPE, 76 AFE_LSM_TOPOLOGY_CAL_TYPE, 77 AFE_LSM_TX_CAL_TYPE, 78 ADM_LSM_TOPOLOGY_CAL_TYPE, 79 ADM_LSM_AUDPROC_CAL_TYPE, 80 ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE, 81 ADM_AUDPROC_PERSISTENT_CAL_TYPE, 82 AFE_FB_SPKR_PROT_V4_EX_VI_CAL_TYPE, 83 MAX_CAL_TYPES, 84 }; 85 #define AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE 86 #define AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE 87 #define AFE_FB_SPKR_PROT_V4_EX_VI_CAL_TYPE AFE_FB_SPKR_PROT_V4_EX_VI_CAL_TYPE 88 #define AFE_SIDETONE_IIR_CAL_TYPE AFE_SIDETONE_IIR_CAL_TYPE 89 #define AFE_LSM_TOPOLOGY_CAL_TYPE AFE_LSM_TOPOLOGY_CAL_TYPE 90 #define AFE_LSM_TX_CAL_TYPE AFE_LSM_TX_CAL_TYPE 91 #define ADM_LSM_TOPOLOGY_CAL_TYPE ADM_LSM_TOPOLOGY_CAL_TYPE 92 #define ADM_LSM_AUDPROC_CAL_TYPE ADM_LSM_AUDPROC_CAL_TYPE 93 #define ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE ADM_LSM_AUDPROC_PERSISTENT_CAL_TYPE 94 #define ADM_AUDPROC_PERSISTENT_CAL_TYPE ADM_AUDPROC_PERSISTENT_CAL_TYPE 95 #define LSM_CAL_TYPES 96 #define TOPOLOGY_SPECIFIC_CHANNEL_INFO 97 #define MSM_SPKR_PROT_SPV3 98 #define MSM_SPKR_PROT_SPV4 99 enum { 100 VERSION_0_0, 101 }; 102 enum { 103 PER_VOCODER_CAL_BIT_MASK = 0x10000, 104 }; 105 #define MAX_IOCTL_CMD_SIZE 512 106 struct audio_cal_header { 107 int32_t data_size; 108 int32_t version; 109 int32_t cal_type; 110 int32_t cal_type_size; 111 }; 112 struct audio_cal_type_header { 113 int32_t version; 114 int32_t buffer_number; 115 }; 116 struct audio_cal_data { 117 int32_t cal_size; 118 int32_t mem_handle; 119 }; 120 struct audio_cal_type_alloc { 121 struct audio_cal_type_header cal_hdr; 122 struct audio_cal_data cal_data; 123 }; 124 struct audio_cal_alloc { 125 struct audio_cal_header hdr; 126 struct audio_cal_type_alloc cal_type; 127 }; 128 struct audio_cal_type_dealloc { 129 struct audio_cal_type_header cal_hdr; 130 struct audio_cal_data cal_data; 131 }; 132 struct audio_cal_dealloc { 133 struct audio_cal_header hdr; 134 struct audio_cal_type_dealloc cal_type; 135 }; 136 struct audio_cal_type_prepare { 137 struct audio_cal_type_header cal_hdr; 138 struct audio_cal_data cal_data; 139 }; 140 struct audio_cal_prepare { 141 struct audio_cal_header hdr; 142 struct audio_cal_type_prepare cal_type; 143 }; 144 struct audio_cal_type_post { 145 struct audio_cal_type_header cal_hdr; 146 struct audio_cal_data cal_data; 147 }; 148 struct audio_cal_post { 149 struct audio_cal_header hdr; 150 struct audio_cal_type_post cal_type; 151 }; 152 struct audio_cal_info_metainfo { 153 uint32_t nKey; 154 }; 155 enum { 156 RX_DEVICE, 157 TX_DEVICE, 158 MAX_PATH_TYPE 159 }; 160 struct audio_cal_info_adm_top { 161 int32_t topology; 162 int32_t acdb_id; 163 int32_t path; 164 int32_t app_type; 165 int32_t sample_rate; 166 }; 167 struct audio_cal_info_audproc { 168 int32_t acdb_id; 169 int32_t path; 170 int32_t app_type; 171 int32_t sample_rate; 172 }; 173 struct audio_cal_info_audvol { 174 int32_t acdb_id; 175 int32_t path; 176 int32_t app_type; 177 int32_t vol_index; 178 }; 179 struct audio_cal_info_afe { 180 int32_t acdb_id; 181 int32_t path; 182 int32_t sample_rate; 183 }; 184 struct audio_cal_info_afe_top { 185 int32_t topology; 186 int32_t acdb_id; 187 int32_t path; 188 int32_t sample_rate; 189 }; 190 struct audio_cal_info_asm_top { 191 int32_t topology; 192 int32_t app_type; 193 }; 194 struct audio_cal_info_audstrm { 195 int32_t app_type; 196 }; 197 struct audio_cal_info_aanc { 198 int32_t acdb_id; 199 }; 200 #define MAX_HW_DELAY_ENTRIES 25 201 struct audio_cal_hw_delay_entry { 202 uint32_t sample_rate; 203 uint32_t delay_usec; 204 }; 205 struct audio_cal_hw_delay_data { 206 uint32_t num_entries; 207 struct audio_cal_hw_delay_entry entry[MAX_HW_DELAY_ENTRIES]; 208 }; 209 struct audio_cal_info_hw_delay { 210 int32_t acdb_id; 211 int32_t path; 212 int32_t property_type; 213 struct audio_cal_hw_delay_data data; 214 }; 215 enum msm_spkr_prot_states { 216 MSM_SPKR_PROT_CALIBRATED, 217 MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS, 218 MSM_SPKR_PROT_DISABLED, 219 MSM_SPKR_PROT_NOT_CALIBRATED, 220 MSM_SPKR_PROT_PRE_CALIBRATED, 221 MSM_SPKR_PROT_IN_FTM_MODE, 222 MSM_SPKR_PROT_IN_V_VALI_MODE 223 }; 224 #define MSM_SPKR_PROT_IN_FTM_MODE MSM_SPKR_PROT_IN_FTM_MODE 225 #define MSM_SPKR_PROT_IN_V_VALI_MODE MSM_SPKR_PROT_IN_V_VALI_MODE 226 enum msm_spkr_count { 227 SP_V2_SPKR_1, 228 SP_V2_SPKR_2, 229 SP_V2_NUM_MAX_SPKRS 230 }; 231 struct audio_cal_info_spk_prot_cfg { 232 int32_t r0[SP_V2_NUM_MAX_SPKRS]; 233 int32_t t0[SP_V2_NUM_MAX_SPKRS]; 234 uint32_t quick_calib_flag; 235 uint32_t mode; 236 #ifdef MSM_SPKR_PROT_SPV3 237 uint32_t sp_version; 238 int32_t limiter_th[SP_V2_NUM_MAX_SPKRS]; 239 #endif 240 }; 241 struct audio_cal_info_sp_th_vi_ftm_cfg { 242 uint32_t mode; 243 uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; 244 uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS]; 245 }; 246 struct audio_cal_info_sp_th_vi_v_vali_cfg { 247 uint32_t mode; 248 uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; 249 uint32_t vali_time[SP_V2_NUM_MAX_SPKRS]; 250 }; 251 struct audio_cal_info_sp_ex_vi_ftm_cfg { 252 uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; 253 uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS]; 254 uint32_t mode; 255 }; 256 struct audio_cal_info_sp_ex_vi_param { 257 int32_t freq_q20[SP_V2_NUM_MAX_SPKRS]; 258 int32_t resis_q24[SP_V2_NUM_MAX_SPKRS]; 259 int32_t qmct_q24[SP_V2_NUM_MAX_SPKRS]; 260 int32_t status[SP_V2_NUM_MAX_SPKRS]; 261 }; 262 struct audio_cal_info_sp_v4_ex_vi_param { 263 int32_t ftm_re_q24[SP_V2_NUM_MAX_SPKRS]; 264 int32_t ftm_Bl_q24[SP_V2_NUM_MAX_SPKRS]; 265 int32_t ftm_Rms_q24[SP_V2_NUM_MAX_SPKRS]; 266 int32_t ftm_Kms_q24[SP_V2_NUM_MAX_SPKRS]; 267 int32_t ftm_freq_q20[SP_V2_NUM_MAX_SPKRS]; 268 int32_t ftm_Qms_q24[SP_V2_NUM_MAX_SPKRS]; 269 uint32_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 struct audio_cal_type_sp_v4_ex_vi_param { 618 struct audio_cal_type_header cal_hdr; 619 struct audio_cal_data cal_data; 620 struct audio_cal_info_sp_v4_ex_vi_param cal_info; 621 }; 622 struct audio_cal_sp_v4_ex_vi_param { 623 struct audio_cal_header hdr; 624 struct audio_cal_type_sp_v4_ex_vi_param cal_type; 625 }; 626 #endif 627