summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/hisilicon/sec2
diff options
context:
space:
mode:
authorShukun Tan <tanshukun1@huawei.com>2020-04-02 14:53:01 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2020-04-16 16:49:20 +1000
commit619e464ae22a17e6a060527c8591ccf78eb368ba (patch)
treef25f709c2bce71706f23b506af2f26f601444c3f /drivers/crypto/hisilicon/sec2
parent3c8e0bd105037c4451adb4594fcfa33aef58d286 (diff)
downloadlinux-619e464ae22a17e6a060527c8591ccf78eb368ba.tar.gz
linux-619e464ae22a17e6a060527c8591ccf78eb368ba.tar.bz2
linux-619e464ae22a17e6a060527c8591ccf78eb368ba.zip
crypto: hisilicon - put vfs_num into struct hisi_qm
We plan to move vfs_num related code into qm.c, put the param vfs_num into struct hisi_qm first. Signed-off-by: Shukun Tan <tanshukun1@huawei.com> Reviewed-by: Zhou Wang <wangzhou1@hisilicon.com> Reviewed-by: Zaibo Xu <xuzaibo@huawei.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/hisilicon/sec2')
-rw-r--r--drivers/crypto/hisilicon/sec2/sec.h1
-rw-r--r--drivers/crypto/hisilicon/sec2/sec_main.c17
2 files changed, 8 insertions, 10 deletions
diff --git a/drivers/crypto/hisilicon/sec2/sec.h b/drivers/crypto/hisilicon/sec2/sec.h
index 3598fa17beb2..2326634a1d71 100644
--- a/drivers/crypto/hisilicon/sec2/sec.h
+++ b/drivers/crypto/hisilicon/sec2/sec.h
@@ -172,7 +172,6 @@ struct sec_dev {
struct sec_debug debug;
u32 ctx_q_num;
bool iommu_used;
- u32 num_vfs;
unsigned long status;
};
diff --git a/drivers/crypto/hisilicon/sec2/sec_main.c b/drivers/crypto/hisilicon/sec2/sec_main.c
index 1f54ebe164b6..ef26239ec360 100644
--- a/drivers/crypto/hisilicon/sec2/sec_main.c
+++ b/drivers/crypto/hisilicon/sec2/sec_main.c
@@ -424,23 +424,22 @@ static u32 sec_current_qm_read(struct sec_debug_file *file)
static int sec_current_qm_write(struct sec_debug_file *file, u32 val)
{
struct hisi_qm *qm = file->qm;
- struct sec_dev *sec = container_of(qm, struct sec_dev, qm);
u32 vfq_num;
u32 tmp;
- if (val > sec->num_vfs)
+ if (val > qm->vfs_num)
return -EINVAL;
/* According PF or VF Dev ID to calculation curr_qm_qp_num and store */
if (!val) {
qm->debug.curr_qm_qp_num = qm->qp_num;
} else {
- vfq_num = (qm->ctrl_qp_num - qm->qp_num) / sec->num_vfs;
+ vfq_num = (qm->ctrl_qp_num - qm->qp_num) / qm->vfs_num;
- if (val == sec->num_vfs)
+ if (val == qm->vfs_num)
qm->debug.curr_qm_qp_num =
qm->ctrl_qp_num - qm->qp_num -
- (sec->num_vfs - 1) * vfq_num;
+ (qm->vfs_num - 1) * vfq_num;
else
qm->debug.curr_qm_qp_num = vfq_num;
}
@@ -926,7 +925,7 @@ static int sec_vf_q_assign(struct sec_dev *sec, u32 num_vfs)
static int sec_clear_vft_config(struct sec_dev *sec)
{
struct hisi_qm *qm = &sec->qm;
- u32 num_vfs = sec->num_vfs;
+ u32 num_vfs = qm->vfs_num;
int ret;
u32 i;
@@ -936,7 +935,7 @@ static int sec_clear_vft_config(struct sec_dev *sec)
return ret;
}
- sec->num_vfs = 0;
+ qm->vfs_num = 0;
return 0;
}
@@ -962,7 +961,7 @@ static int sec_sriov_enable(struct pci_dev *pdev, int max_vfs)
return ret;
}
- sec->num_vfs = num_vfs;
+ sec->qm.vfs_num = num_vfs;
ret = pci_enable_sriov(pdev, num_vfs);
if (ret) {
@@ -1006,7 +1005,7 @@ static void sec_remove(struct pci_dev *pdev)
hisi_qm_del_from_list(qm, &sec_devices);
- if (qm->fun_type == QM_HW_PF && sec->num_vfs)
+ if (qm->fun_type == QM_HW_PF && qm->vfs_num)
(void)sec_sriov_disable(pdev);
sec_debugfs_exit(sec);