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