crypto: hisilicon/qm - add a function to set qm algs

[ Upstream commit f76f0d7f20672611974d3cc705996751fc403734 ]

Extract a public function to set qm algs and remove
the similar code for setting qm algs in each module.

Signed-off-by: Wenkai Lin <linwenkai6@hisilicon.com>
Signed-off-by: Hao Fang <fanghao11@huawei.com>
Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Stable-dep-of: cf8b5156bbc8 ("crypto: hisilicon/hpre - save capability registers in probe process")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Wenkai Lin
2023-12-02 17:17:18 +08:00
committed by Greg Kroah-Hartman
parent 11d7a33905
commit 4705731fc5
5 changed files with 62 additions and 120 deletions

View File

@@ -161,6 +161,11 @@ enum qm_cap_bits {
QM_SUPPORT_RPM,
};
struct qm_dev_alg {
u64 alg_msk;
const char *alg;
};
struct dfx_diff_registers {
u32 *regs;
u32 reg_offset;
@@ -347,7 +352,6 @@ struct hisi_qm {
struct work_struct rst_work;
struct work_struct cmd_process;
const char *algs;
bool use_sva;
bool is_frozen;
@@ -533,6 +537,8 @@ void hisi_qm_regs_dump(struct seq_file *s, struct debugfs_regset32 *regset);
u32 hisi_qm_get_hw_info(struct hisi_qm *qm,
const struct hisi_qm_cap_info *info_table,
u32 index, bool is_read);
int hisi_qm_set_algs(struct hisi_qm *qm, u64 alg_msk, const struct qm_dev_alg *dev_algs,
u32 dev_algs_size);
/* Used by VFIO ACC live migration driver */
struct pci_driver *hisi_sec_get_pf_driver(void);