Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Giovanni Cabiddu and committed by
Herbert Xu
2990d2ed 99b1c982

+28 -41
+28 -41
drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
··· 395 395 return ARRAY_SIZE(adf_fw_cy_config); 396 396 } 397 397 398 - static const char *uof_get_name(struct adf_accel_dev *accel_dev, u32 obj_num, 399 - const char * const fw_objs[], int num_objs) 398 + static const struct adf_fw_config *get_fw_config(struct adf_accel_dev *accel_dev) 400 399 { 401 - int id; 402 - 403 400 switch (get_service_enabled(accel_dev)) { 404 401 case SVC_CY: 405 402 case SVC_CY2: 406 - id = adf_fw_cy_config[obj_num].obj; 407 - break; 403 + return adf_fw_cy_config; 408 404 case SVC_DC: 409 - id = adf_fw_dc_config[obj_num].obj; 410 - break; 405 + return adf_fw_dc_config; 411 406 case SVC_DCC: 412 - id = adf_fw_dcc_config[obj_num].obj; 413 - break; 407 + return adf_fw_dcc_config; 414 408 case SVC_SYM: 415 - id = adf_fw_sym_config[obj_num].obj; 416 - break; 409 + return adf_fw_sym_config; 417 410 case SVC_ASYM: 418 - id = adf_fw_asym_config[obj_num].obj; 419 - break; 411 + return adf_fw_asym_config; 420 412 case SVC_ASYM_DC: 421 413 case SVC_DC_ASYM: 422 - id = adf_fw_asym_dc_config[obj_num].obj; 423 - break; 414 + return adf_fw_asym_dc_config; 424 415 case SVC_SYM_DC: 425 416 case SVC_DC_SYM: 426 - id = adf_fw_sym_dc_config[obj_num].obj; 427 - break; 417 + return adf_fw_sym_dc_config; 428 418 default: 429 - id = -EINVAL; 430 - break; 419 + return NULL; 431 420 } 421 + } 422 + 423 + static const char *uof_get_name(struct adf_accel_dev *accel_dev, u32 obj_num, 424 + const char * const fw_objs[], int num_objs) 425 + { 426 + const struct adf_fw_config *fw_config; 427 + int id; 428 + 429 + fw_config = get_fw_config(accel_dev); 430 + if (fw_config) 431 + id = fw_config[obj_num].obj; 432 + else 433 + id = -EINVAL; 432 434 433 435 if (id < 0 || id > num_objs) 434 436 return NULL; ··· 454 452 455 453 static u32 uof_get_ae_mask(struct adf_accel_dev *accel_dev, u32 obj_num) 456 454 { 457 - switch (get_service_enabled(accel_dev)) { 458 - case SVC_CY: 459 - return adf_fw_cy_config[obj_num].ae_mask; 460 - case SVC_DC: 461 - return adf_fw_dc_config[obj_num].ae_mask; 462 - case SVC_DCC: 463 - return adf_fw_dcc_config[obj_num].ae_mask; 464 - case SVC_CY2: 465 - return adf_fw_cy_config[obj_num].ae_mask; 466 - case SVC_SYM: 467 - return adf_fw_sym_config[obj_num].ae_mask; 468 - case SVC_ASYM: 469 - return adf_fw_asym_config[obj_num].ae_mask; 470 - case SVC_ASYM_DC: 471 - case SVC_DC_ASYM: 472 - return adf_fw_asym_dc_config[obj_num].ae_mask; 473 - case SVC_SYM_DC: 474 - case SVC_DC_SYM: 475 - return adf_fw_sym_dc_config[obj_num].ae_mask; 476 - default: 455 + const struct adf_fw_config *fw_config; 456 + 457 + fw_config = get_fw_config(accel_dev); 458 + if (!fw_config) 477 459 return 0; 478 - } 460 + 461 + return fw_config[obj_num].ae_mask; 479 462 } 480 463 481 464 static void adf_gen4_set_err_mask(struct adf_dev_err_mask *dev_err_mask)