crypto: qat - refactor fw config related functions
[ Upstream commit 2990d2edac6061c6f0f646a46e40957244be2268 ] 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> Stable-dep-of: a238487f7965 ("crypto: qat - fix ring to service map for QAT GEN4") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
2e513f6bc7
commit
a7be12fbac
@ -394,40 +394,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;
|
||||
@ -451,28 +453,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;
|
||||
}
|
||||
|
||||
void adf_init_hw_data_4xxx(struct adf_hw_device_data *hw_data, u32 dev_id)
|
||||
|
Loading…
x
Reference in New Issue
Block a user