mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 00:39:48 +00:00
crypto: qat - refactor fw config related functions
The logic that selects the correct adf_fw_config structure based on the configured service is replicated twice in the uof_get_name() and uof_get_ae_mask() functions. Refactor the code so that there is no replication. This does not introduce any functional change. Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Reviewed-by: Damian Muszynski <damian.muszynski@intel.com> Reviewed-by: Tero Kristo <tero.kristo@linux.intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
99b1c9826e
commit
2990d2edac
1 changed files with 28 additions and 41 deletions
|
@ -395,40 +395,42 @@ static u32 uof_get_num_objs(void)
|
|||
return ARRAY_SIZE(adf_fw_cy_config);
|
||||
}
|
||||
|
||||
static const char *uof_get_name(struct adf_accel_dev *accel_dev, u32 obj_num,
|
||||
const char * const fw_objs[], int num_objs)
|
||||
static const struct adf_fw_config *get_fw_config(struct adf_accel_dev *accel_dev)
|
||||
{
|
||||
int id;
|
||||
|
||||
switch (get_service_enabled(accel_dev)) {
|
||||
case SVC_CY:
|
||||
case SVC_CY2:
|
||||
id = adf_fw_cy_config[obj_num].obj;
|
||||
break;
|
||||
return adf_fw_cy_config;
|
||||
case SVC_DC:
|
||||
id = adf_fw_dc_config[obj_num].obj;
|
||||
break;
|
||||
return adf_fw_dc_config;
|
||||
case SVC_DCC:
|
||||
id = adf_fw_dcc_config[obj_num].obj;
|
||||
break;
|
||||
return adf_fw_dcc_config;
|
||||
case SVC_SYM:
|
||||
id = adf_fw_sym_config[obj_num].obj;
|
||||
break;
|
||||
return adf_fw_sym_config;
|
||||
case SVC_ASYM:
|
||||
id = adf_fw_asym_config[obj_num].obj;
|
||||
break;
|
||||
return adf_fw_asym_config;
|
||||
case SVC_ASYM_DC:
|
||||
case SVC_DC_ASYM:
|
||||
id = adf_fw_asym_dc_config[obj_num].obj;
|
||||
break;
|
||||
return adf_fw_asym_dc_config;
|
||||
case SVC_SYM_DC:
|
||||
case SVC_DC_SYM:
|
||||
id = adf_fw_sym_dc_config[obj_num].obj;
|
||||
break;
|
||||
return adf_fw_sym_dc_config;
|
||||
default:
|
||||
id = -EINVAL;
|
||||
break;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static const char *uof_get_name(struct adf_accel_dev *accel_dev, u32 obj_num,
|
||||
const char * const fw_objs[], int num_objs)
|
||||
{
|
||||
const struct adf_fw_config *fw_config;
|
||||
int id;
|
||||
|
||||
fw_config = get_fw_config(accel_dev);
|
||||
if (fw_config)
|
||||
id = fw_config[obj_num].obj;
|
||||
else
|
||||
id = -EINVAL;
|
||||
|
||||
if (id < 0 || id > num_objs)
|
||||
return NULL;
|
||||
|
@ -452,28 +454,13 @@ static const char *uof_get_name_402xx(struct adf_accel_dev *accel_dev, u32 obj_n
|
|||
|
||||
static u32 uof_get_ae_mask(struct adf_accel_dev *accel_dev, u32 obj_num)
|
||||
{
|
||||
switch (get_service_enabled(accel_dev)) {
|
||||
case SVC_CY:
|
||||
return adf_fw_cy_config[obj_num].ae_mask;
|
||||
case SVC_DC:
|
||||
return adf_fw_dc_config[obj_num].ae_mask;
|
||||
case SVC_DCC:
|
||||
return adf_fw_dcc_config[obj_num].ae_mask;
|
||||
case SVC_CY2:
|
||||
return adf_fw_cy_config[obj_num].ae_mask;
|
||||
case SVC_SYM:
|
||||
return adf_fw_sym_config[obj_num].ae_mask;
|
||||
case SVC_ASYM:
|
||||
return adf_fw_asym_config[obj_num].ae_mask;
|
||||
case SVC_ASYM_DC:
|
||||
case SVC_DC_ASYM:
|
||||
return adf_fw_asym_dc_config[obj_num].ae_mask;
|
||||
case SVC_SYM_DC:
|
||||
case SVC_DC_SYM:
|
||||
return adf_fw_sym_dc_config[obj_num].ae_mask;
|
||||
default:
|
||||
const struct adf_fw_config *fw_config;
|
||||
|
||||
fw_config = get_fw_config(accel_dev);
|
||||
if (!fw_config)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return fw_config[obj_num].ae_mask;
|
||||
}
|
||||
|
||||
static void adf_gen4_set_err_mask(struct adf_dev_err_mask *dev_err_mask)
|
||||
|
|
Loading…
Reference in a new issue