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