ASoC: msm: qdsp6v2: Update calibration driver and voice driver
Update calibration driver and voice driver for per vocoder cal. Update the voice-related cal types. Add new enumerate. Change-Id: I10c60724c2f1e44f948d6d2ee8b19cd32c2adc40 Signed-off-by: Walter Yang <yandongy@codeaurora.org>
This commit is contained in:
parent
956fe03ae3
commit
4c353a4209
|
@ -97,4 +97,6 @@ struct cal_block_data *cal_utils_get_only_cal_block(
|
|||
size_t get_cal_info_size(int32_t cal_type);
|
||||
size_t get_user_cal_type_size(int32_t cal_type);
|
||||
|
||||
/* Version of the cal type*/
|
||||
int32_t cal_utils_get_cal_type_version(void *cal_type_data);
|
||||
#endif
|
||||
|
|
|
@ -47,13 +47,13 @@
|
|||
enum {
|
||||
CVP_VOC_RX_TOPOLOGY_CAL_TYPE = 0,
|
||||
CVP_VOC_TX_TOPOLOGY_CAL_TYPE,
|
||||
CVP_VOCPROC_CAL_TYPE,
|
||||
CVP_VOCVOL_CAL_TYPE,
|
||||
CVS_VOCSTRM_CAL_TYPE,
|
||||
CVP_VOCPROC_STATIC_CAL_TYPE,
|
||||
CVP_VOCPROC_DYNAMIC_CAL_TYPE,
|
||||
CVS_VOCSTRM_STATIC_CAL_TYPE,
|
||||
CVP_VOCDEV_CFG_CAL_TYPE,
|
||||
CVP_VOCPROC_COL_CAL_TYPE,
|
||||
CVP_VOCVOL_COL_CAL_TYPE,
|
||||
CVS_VOCSTRM_COL_CAL_TYPE,
|
||||
CVP_VOCPROC_STATIC_COL_CAL_TYPE,
|
||||
CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE,
|
||||
CVS_VOCSTRM_STATIC_COL_CAL_TYPE,
|
||||
|
||||
ADM_TOPOLOGY_CAL_TYPE,
|
||||
ADM_CUST_TOPOLOGY_CAL_TYPE,
|
||||
|
@ -93,6 +93,10 @@ enum {
|
|||
VERSION_0_0,
|
||||
};
|
||||
|
||||
enum {
|
||||
PER_VOCODER_CAL_BIT_MASK = 0x10000,
|
||||
};
|
||||
|
||||
#define MAX_IOCTL_CMD_SIZE 512
|
||||
|
||||
/* common structures */
|
||||
|
@ -324,6 +328,8 @@ struct audio_cal_col_data {
|
|||
|
||||
struct audio_cal_info_voc_col {
|
||||
int32_t table_id;
|
||||
int32_t tx_acdb_id;
|
||||
int32_t rx_acdb_id;
|
||||
struct audio_cal_col_data data;
|
||||
};
|
||||
|
||||
|
|
|
@ -30,25 +30,25 @@ size_t get_cal_info_size(int32_t cal_type)
|
|||
case CVP_VOC_TX_TOPOLOGY_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_info_voc_top);
|
||||
break;
|
||||
case CVP_VOCPROC_CAL_TYPE:
|
||||
case CVP_VOCPROC_STATIC_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_info_vocproc);
|
||||
break;
|
||||
case CVP_VOCVOL_CAL_TYPE:
|
||||
case CVP_VOCPROC_DYNAMIC_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_info_vocvol);
|
||||
break;
|
||||
case CVS_VOCSTRM_CAL_TYPE:
|
||||
case CVS_VOCSTRM_STATIC_CAL_TYPE:
|
||||
size = 0;
|
||||
break;
|
||||
case CVP_VOCDEV_CFG_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_info_vocdev_cfg);
|
||||
break;
|
||||
case CVP_VOCPROC_COL_CAL_TYPE:
|
||||
case CVP_VOCPROC_STATIC_COL_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_info_voc_col);
|
||||
break;
|
||||
case CVP_VOCVOL_COL_CAL_TYPE:
|
||||
case CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_info_voc_col);
|
||||
break;
|
||||
case CVS_VOCSTRM_COL_CAL_TYPE:
|
||||
case CVS_VOCSTRM_STATIC_COL_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_info_voc_col);
|
||||
break;
|
||||
case ADM_TOPOLOGY_CAL_TYPE:
|
||||
|
@ -141,25 +141,21 @@ size_t get_user_cal_type_size(int32_t cal_type)
|
|||
case CVP_VOC_TX_TOPOLOGY_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_voc_top);
|
||||
break;
|
||||
case CVP_VOCPROC_CAL_TYPE:
|
||||
case CVP_VOCPROC_STATIC_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_vocproc);
|
||||
break;
|
||||
case CVP_VOCVOL_CAL_TYPE:
|
||||
case CVP_VOCPROC_DYNAMIC_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_vocvol);
|
||||
break;
|
||||
case CVS_VOCSTRM_CAL_TYPE:
|
||||
case CVS_VOCSTRM_STATIC_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_basic);
|
||||
break;
|
||||
case CVP_VOCDEV_CFG_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_vocdev_cfg);
|
||||
break;
|
||||
case CVP_VOCPROC_COL_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_voc_col);
|
||||
break;
|
||||
case CVP_VOCVOL_COL_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_voc_col);
|
||||
break;
|
||||
case CVS_VOCSTRM_COL_CAL_TYPE:
|
||||
case CVP_VOCPROC_STATIC_COL_CAL_TYPE:
|
||||
case CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE:
|
||||
case CVS_VOCSTRM_STATIC_COL_CAL_TYPE:
|
||||
size = sizeof(struct audio_cal_type_voc_col);
|
||||
break;
|
||||
case ADM_TOPOLOGY_CAL_TYPE:
|
||||
|
@ -241,6 +237,15 @@ size_t get_user_cal_type_size(int32_t cal_type)
|
|||
return size;
|
||||
}
|
||||
|
||||
int32_t cal_utils_get_cal_type_version(void *cal_type_data)
|
||||
{
|
||||
struct audio_cal_type_basic *data = NULL;
|
||||
|
||||
data = (struct audio_cal_type_basic *)cal_type_data;
|
||||
|
||||
return data->cal_hdr.version;
|
||||
}
|
||||
|
||||
static struct cal_type_data *create_cal_type_data(
|
||||
struct cal_type_info *info)
|
||||
{
|
||||
|
|
|
@ -2946,13 +2946,13 @@ static int voice_unmap_cal_memory(int32_t cal_type,
|
|||
result = result2;
|
||||
}
|
||||
|
||||
if (cal_type == CVP_VOCVOL_CAL_TYPE)
|
||||
if (cal_type == CVP_VOCPROC_DYNAMIC_CAL_TYPE)
|
||||
voice_send_cvp_deregister_vol_cal_cmd(v);
|
||||
else if (cal_type == CVP_VOCPROC_CAL_TYPE)
|
||||
else if (cal_type == CVP_VOCPROC_STATIC_CAL_TYPE)
|
||||
voice_send_cvp_deregister_cal_cmd(v);
|
||||
else if (cal_type == CVP_VOCDEV_CFG_CAL_TYPE)
|
||||
voice_send_cvp_deregister_dev_cfg_cmd(v);
|
||||
else if (cal_type == CVS_VOCSTRM_CAL_TYPE)
|
||||
else if (cal_type == CVS_VOCSTRM_STATIC_CAL_TYPE)
|
||||
voice_send_cvs_deregister_cal_cmd(v);
|
||||
else
|
||||
pr_err("%s: Invalid cal type %d!\n",
|
||||
|
@ -6525,25 +6525,25 @@ static int get_cal_type_index(int32_t cal_type)
|
|||
case CVP_VOC_TX_TOPOLOGY_CAL_TYPE:
|
||||
ret = CVP_VOC_TX_TOPOLOGY_CAL;
|
||||
break;
|
||||
case CVP_VOCPROC_CAL_TYPE:
|
||||
case CVP_VOCPROC_STATIC_CAL_TYPE:
|
||||
ret = CVP_VOCPROC_CAL;
|
||||
break;
|
||||
case CVP_VOCVOL_CAL_TYPE:
|
||||
case CVP_VOCPROC_DYNAMIC_CAL_TYPE:
|
||||
ret = CVP_VOCVOL_CAL;
|
||||
break;
|
||||
case CVS_VOCSTRM_CAL_TYPE:
|
||||
case CVS_VOCSTRM_STATIC_CAL_TYPE:
|
||||
ret = CVS_VOCSTRM_CAL;
|
||||
break;
|
||||
case CVP_VOCDEV_CFG_CAL_TYPE:
|
||||
ret = CVP_VOCDEV_CFG_CAL;
|
||||
break;
|
||||
case CVP_VOCPROC_COL_CAL_TYPE:
|
||||
case CVP_VOCPROC_STATIC_COL_CAL_TYPE:
|
||||
ret = CVP_VOCPROC_COL_CAL;
|
||||
break;
|
||||
case CVP_VOCVOL_COL_CAL_TYPE:
|
||||
case CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE:
|
||||
ret = CVP_VOCVOL_COL_CAL;
|
||||
break;
|
||||
case CVS_VOCSTRM_COL_CAL_TYPE:
|
||||
case CVS_VOCSTRM_STATIC_COL_CAL_TYPE:
|
||||
ret = CVS_VOCSTRM_COL_CAL;
|
||||
break;
|
||||
case VOICE_RTAC_INFO_CAL_TYPE:
|
||||
|
@ -6676,13 +6676,13 @@ static int voice_init_cal_data(void)
|
|||
{NULL, NULL, NULL, voice_set_cal, NULL, NULL} },
|
||||
{NULL, NULL, cal_utils_match_buf_num} },
|
||||
|
||||
{{CVP_VOCPROC_CAL_TYPE,
|
||||
{{CVP_VOCPROC_STATIC_CAL_TYPE,
|
||||
{voice_alloc_cal, voice_dealloc_cal, NULL,
|
||||
voice_set_cal, NULL, NULL} },
|
||||
{NULL, voice_unmap_cal_memory,
|
||||
cal_utils_match_buf_num} },
|
||||
|
||||
{{CVP_VOCVOL_CAL_TYPE,
|
||||
{{CVP_VOCPROC_DYNAMIC_CAL_TYPE,
|
||||
{voice_alloc_cal, voice_dealloc_cal,
|
||||
voice_prepare_volume_boost,
|
||||
voice_set_cal, NULL,
|
||||
|
@ -6696,21 +6696,21 @@ static int voice_init_cal_data(void)
|
|||
{NULL, voice_unmap_cal_memory,
|
||||
cal_utils_match_buf_num} },
|
||||
|
||||
{{CVP_VOCPROC_COL_CAL_TYPE,
|
||||
{{CVP_VOCPROC_STATIC_COL_CAL_TYPE,
|
||||
{NULL, NULL, NULL, voice_set_cal, NULL, NULL} },
|
||||
{NULL, NULL, cal_utils_match_buf_num} },
|
||||
|
||||
{{CVP_VOCVOL_COL_CAL_TYPE,
|
||||
{{CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE,
|
||||
{NULL, NULL, NULL, voice_set_cal, NULL, NULL} },
|
||||
{NULL, NULL, cal_utils_match_buf_num} },
|
||||
|
||||
{{CVS_VOCSTRM_CAL_TYPE,
|
||||
{{CVS_VOCSTRM_STATIC_CAL_TYPE,
|
||||
{voice_alloc_cal, voice_dealloc_cal, NULL,
|
||||
voice_set_cal, NULL, NULL} },
|
||||
{NULL, voice_unmap_cal_memory,
|
||||
cal_utils_match_buf_num} },
|
||||
|
||||
{{CVS_VOCSTRM_COL_CAL_TYPE,
|
||||
{{CVS_VOCSTRM_STATIC_COL_CAL_TYPE,
|
||||
{NULL, NULL, NULL, voice_set_cal, NULL, NULL} },
|
||||
{NULL, NULL, cal_utils_match_buf_num} },
|
||||
|
||||
|
|
Loading…
Reference in New Issue