Browse Source

audio: uapi: Update v-validation get and set params

Add v-validation feature support for set config for
wait time and validation time and get param
for status/vrms result of speaker.

Change-Id: I1bd91fbe17113a21c881e1ec1c735c50a963a692
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Laxminath Kasam 6 years ago
parent
commit
a6ecf498c1
1 changed files with 65 additions and 1 deletions
  1. 65 1
      include/uapi/linux/msm_audio_calibration.h

+ 65 - 1
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 {
+	/*
+	 * 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;