diff --git a/include/uapi/linux/msm_audio_calibration.h b/include/uapi/linux/msm_audio_calibration.h index 9bd64aac8b..35b5960622 100644 --- a/include/uapi/linux/msm_audio_calibration.h +++ b/include/uapi/linux/msm_audio_calibration.h @@ -294,9 +294,11 @@ enum msm_spkr_prot_states { MSM_SPKR_PROT_DISABLED, MSM_SPKR_PROT_NOT_CALIBRATED, MSM_SPKR_PROT_PRE_CALIBRATED, - MSM_SPKR_PROT_IN_FTM_MODE + MSM_SPKR_PROT_IN_FTM_MODE, + MSM_SPKR_PROT_IN_V_VALI_MODE }; #define MSM_SPKR_PROT_IN_FTM_MODE MSM_SPKR_PROT_IN_FTM_MODE +#define MSM_SPKR_PROT_IN_V_VALI_MODE MSM_SPKR_PROT_IN_V_VALI_MODE enum msm_spkr_count { SP_V2_SPKR_1, @@ -321,14 +323,37 @@ struct audio_cal_info_spk_prot_cfg { }; struct audio_cal_info_sp_th_vi_ftm_cfg { - uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; - uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS]; + /* + * mode should be first param, add new params later to this. + * we use this mode(first 4 bytes) to differentiate + * whether it is TH_VI FTM or v-validation. + */ uint32_t mode; /* * 0 - normal running mode * 1 - Calibration * 2 - FTM mode */ + uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; + uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS]; +}; + +struct audio_cal_info_sp_th_vi_v_vali_cfg { + /* + * mode should be first param, add new params later to this. + * we use this mode(first 4 bytes) to differentiate + * whether it is TH_VI FTM or v-validation. + */ + uint32_t mode; + /* + * 0 - normal running mode + * 1 - Calibration + * 2 - FTM mode + * 3 - V-Validation mode + */ + uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; + uint32_t vali_time[SP_V2_NUM_MAX_SPKRS]; + }; struct audio_cal_info_sp_ex_vi_ftm_cfg { @@ -349,11 +374,28 @@ struct audio_cal_info_sp_ex_vi_param { }; struct audio_cal_info_sp_th_vi_param { + /* + * mode should be first param, add new params later to this. + * we use this mode(first 4 bytes) to differentiate + * whether it is TH_VI FTM or v-validation. + */ + uint32_t mode; int32_t r_dc_q24[SP_V2_NUM_MAX_SPKRS]; int32_t temp_q22[SP_V2_NUM_MAX_SPKRS]; int32_t status[SP_V2_NUM_MAX_SPKRS]; }; +struct audio_cal_info_sp_th_vi_v_vali_param { + /* + * mode should be first param, add new params later to this. + * we use this mode(first 4 bytes) to differentiate + * whether it is TH_VI FTM or v-validation. + */ + uint32_t mode; + uint32_t vrms_q24[SP_V2_NUM_MAX_SPKRS]; + int32_t status[SP_V2_NUM_MAX_SPKRS]; +}; + struct audio_cal_info_msm_spk_prot_status { int32_t r0[SP_V2_NUM_MAX_SPKRS]; int32_t status; @@ -589,6 +631,17 @@ struct audio_cal_sp_th_vi_ftm_cfg { struct audio_cal_type_sp_th_vi_ftm_cfg cal_type; }; +struct audio_cal_type_sp_th_vi_v_vali_cfg { + struct audio_cal_type_header cal_hdr; + struct audio_cal_data cal_data; + struct audio_cal_info_sp_th_vi_v_vali_cfg cal_info; +}; + +struct audio_cal_sp_th_vi_v_vali_cfg { + struct audio_cal_header hdr; + struct audio_cal_type_sp_th_vi_v_vali_cfg cal_type; +}; + struct audio_cal_type_sp_ex_vi_ftm_cfg { struct audio_cal_type_header cal_hdr; struct audio_cal_data cal_data; @@ -731,6 +784,17 @@ struct audio_cal_sp_th_vi_param { struct audio_cal_header hdr; struct audio_cal_type_sp_th_vi_param cal_type; }; + +struct audio_cal_type_sp_th_vi_v_vali_param { + struct audio_cal_type_header cal_hdr; + struct audio_cal_data cal_data; + struct audio_cal_info_sp_th_vi_v_vali_param cal_info; +}; + +struct audio_cal_sp_th_vi_v_vali_param { + struct audio_cal_header hdr; + struct audio_cal_type_sp_th_vi_v_vali_param cal_type; +}; struct audio_cal_type_sp_ex_vi_param { struct audio_cal_type_header cal_hdr; struct audio_cal_data cal_data;