提交 f123e66d 编写于 作者: W Weili Qian 提交者: Herbert Xu

crypto: hisilicon/qm - remove unnecessary device memory reset

The internal memory of the device needs to be reset only when
the device is globally initialized. Other scenarios, such as
function reset, do not need to perform reset.
Signed-off-by: NWeili Qian <qianweili@huawei.com>
Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
上级 fc6c01f0
...@@ -3581,10 +3581,6 @@ static int __hisi_qm_start(struct hisi_qm *qm) ...@@ -3581,10 +3581,6 @@ static int __hisi_qm_start(struct hisi_qm *qm)
WARN_ON(!qm->qdma.va); WARN_ON(!qm->qdma.va);
if (qm->fun_type == QM_HW_PF) { if (qm->fun_type == QM_HW_PF) {
ret = qm_dev_mem_reset(qm);
if (ret)
return ret;
ret = hisi_qm_set_vft(qm, 0, qm->qp_base, qm->qp_num); ret = hisi_qm_set_vft(qm, 0, qm->qp_base, qm->qp_num);
if (ret) if (ret)
return ret; return ret;
...@@ -5083,6 +5079,12 @@ static int qm_controller_reset_done(struct hisi_qm *qm) ...@@ -5083,6 +5079,12 @@ static int qm_controller_reset_done(struct hisi_qm *qm)
if (qm->err_ini->open_axi_master_ooo) if (qm->err_ini->open_axi_master_ooo)
qm->err_ini->open_axi_master_ooo(qm); qm->err_ini->open_axi_master_ooo(qm);
ret = qm_dev_mem_reset(qm);
if (ret) {
pci_err(pdev, "failed to reset device memory\n");
return ret;
}
ret = qm_restart(qm); ret = qm_restart(qm);
if (ret) { if (ret) {
pci_err(pdev, "Failed to start QM!\n"); pci_err(pdev, "Failed to start QM!\n");
...@@ -5857,6 +5859,14 @@ int hisi_qm_init(struct hisi_qm *qm) ...@@ -5857,6 +5859,14 @@ int hisi_qm_init(struct hisi_qm *qm)
goto err_irq_register; goto err_irq_register;
} }
if (qm->fun_type == QM_HW_PF) {
ret = qm_dev_mem_reset(qm);
if (ret) {
dev_err(dev, "failed to reset device memory\n");
goto err_irq_register;
}
}
if (qm->mode == UACCE_MODE_SVA) { if (qm->mode == UACCE_MODE_SVA) {
ret = qm_alloc_uacce(qm); ret = qm_alloc_uacce(qm);
if (ret < 0) if (ret < 0)
...@@ -6014,8 +6024,11 @@ static int qm_rebuild_for_resume(struct hisi_qm *qm) ...@@ -6014,8 +6024,11 @@ static int qm_rebuild_for_resume(struct hisi_qm *qm)
qm_cmd_init(qm); qm_cmd_init(qm);
hisi_qm_dev_err_init(qm); hisi_qm_dev_err_init(qm);
ret = qm_dev_mem_reset(qm);
if (ret)
pci_err(pdev, "failed to reset device memory\n");
return 0; return ret;
} }
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册