diff options
| author | Suman Kumar Chakraborty <suman.kumar.chakraborty@intel.com> | 2025-07-01 10:47:27 +0100 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2025-07-18 20:51:59 +1000 |
| commit | 18126fdff42f6854123b3ddaf3b469a0cee80adb (patch) | |
| tree | 7bc183f33bad5ce3ce35a1e77113c8e4e679e88c /drivers/crypto/intel | |
| parent | 7ea5ea3e58b037e0751c6406cea1e048892be4de (diff) | |
crypto: qat - replace CHECK_STAT macro with static inline function
The macro CHECK_STAT is used to check that all ring statuses match the
saved state during restoring the state of bank.
Replace the CHECK_STAT macro with the static inline function `check_stat()`
to improve type safety, readability, and debuggability.
This does not introduce any functional change.
Signed-off-by: Suman Kumar Chakraborty <suman.kumar.chakraborty@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/intel')
| -rw-r--r-- | drivers/crypto/intel/qat/qat_common/adf_gen4_hw_data.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/drivers/crypto/intel/qat/qat_common/adf_gen4_hw_data.c b/drivers/crypto/intel/qat/qat_common/adf_gen4_hw_data.c index e6a8954cbef1..b5eef5235b61 100644 --- a/drivers/crypto/intel/qat/qat_common/adf_gen4_hw_data.c +++ b/drivers/crypto/intel/qat/qat_common/adf_gen4_hw_data.c @@ -521,14 +521,19 @@ static void bank_state_save(struct adf_hw_csr_ops *ops, void __iomem *base, } } -#define CHECK_STAT(op, expect_val, name, args...) \ -({ \ - u32 __expect_val = (expect_val); \ - u32 actual_val = op(args); \ - (__expect_val == actual_val) ? 0 : \ - (pr_err("Fail to restore %s register. Expected 0x%x, actual 0x%x\n", \ - name, __expect_val, actual_val), -EINVAL); \ -}) +static inline int check_stat(u32 (*op)(void __iomem *, u32), u32 expect_val, + const char *name, void __iomem *base, u32 bank) +{ + u32 actual_val = op(base, bank); + + if (expect_val == actual_val) + return 0; + + pr_err("Fail to restore %s register. Expected %#x, actual %#x\n", + name, expect_val, actual_val); + + return -EINVAL; +} static int bank_state_restore(struct adf_hw_csr_ops *ops, void __iomem *base, u32 bank, struct bank_state *state, u32 num_rings, @@ -611,32 +616,32 @@ static int bank_state_restore(struct adf_hw_csr_ops *ops, void __iomem *base, ops->write_csr_ring_srv_arb_en(base, bank, state->ringsrvarben); /* Check that all ring statuses match the saved state. */ - ret = CHECK_STAT(ops->read_csr_stat, state->ringstat0, "ringstat", + ret = check_stat(ops->read_csr_stat, state->ringstat0, "ringstat", base, bank); if (ret) return ret; - ret = CHECK_STAT(ops->read_csr_e_stat, state->ringestat, "ringestat", + ret = check_stat(ops->read_csr_e_stat, state->ringestat, "ringestat", base, bank); if (ret) return ret; - ret = CHECK_STAT(ops->read_csr_ne_stat, state->ringnestat, "ringnestat", + ret = check_stat(ops->read_csr_ne_stat, state->ringnestat, "ringnestat", base, bank); if (ret) return ret; - ret = CHECK_STAT(ops->read_csr_nf_stat, state->ringnfstat, "ringnfstat", + ret = check_stat(ops->read_csr_nf_stat, state->ringnfstat, "ringnfstat", base, bank); if (ret) return ret; - ret = CHECK_STAT(ops->read_csr_f_stat, state->ringfstat, "ringfstat", + ret = check_stat(ops->read_csr_f_stat, state->ringfstat, "ringfstat", base, bank); if (ret) return ret; - ret = CHECK_STAT(ops->read_csr_c_stat, state->ringcstat0, "ringcstat", + ret = check_stat(ops->read_csr_c_stat, state->ringcstat0, "ringcstat", base, bank); if (ret) return ret; |
