Commit 6b534f7a authored by Longfang Liu's avatar Longfang Liu Committed by Herbert Xu

crypto: hisilicon/sec2 - update debugfs interface parameters

Update debugfs interface parameters, and adjust the
processing logic inside the corresponding function
Signed-off-by: default avatarLongfang Liu <liulongfang@huawei.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent d0228aeb
...@@ -586,16 +586,16 @@ static int sec_debugfs_atomic64_set(void *data, u64 val) ...@@ -586,16 +586,16 @@ static int sec_debugfs_atomic64_set(void *data, u64 val)
DEFINE_DEBUGFS_ATTRIBUTE(sec_atomic64_ops, sec_debugfs_atomic64_get, DEFINE_DEBUGFS_ATTRIBUTE(sec_atomic64_ops, sec_debugfs_atomic64_get,
sec_debugfs_atomic64_set, "%lld\n"); sec_debugfs_atomic64_set, "%lld\n");
static int sec_core_debug_init(struct sec_dev *sec) static int sec_core_debug_init(struct hisi_qm *qm)
{ {
struct hisi_qm *qm = &sec->qm; struct sec_dev *sec = container_of(qm, struct sec_dev, qm);
struct device *dev = &qm->pdev->dev; struct device *dev = &qm->pdev->dev;
struct sec_dfx *dfx = &sec->debug.dfx; struct sec_dfx *dfx = &sec->debug.dfx;
struct debugfs_regset32 *regset; struct debugfs_regset32 *regset;
struct dentry *tmp_d; struct dentry *tmp_d;
int i; int i;
tmp_d = debugfs_create_dir("sec_dfx", sec->qm.debug.debug_root); tmp_d = debugfs_create_dir("sec_dfx", qm->debug.debug_root);
regset = devm_kzalloc(dev, sizeof(*regset), GFP_KERNEL); regset = devm_kzalloc(dev, sizeof(*regset), GFP_KERNEL);
if (!regset) if (!regset)
...@@ -618,44 +618,44 @@ static int sec_core_debug_init(struct sec_dev *sec) ...@@ -618,44 +618,44 @@ static int sec_core_debug_init(struct sec_dev *sec)
return 0; return 0;
} }
static int sec_debug_init(struct sec_dev *sec) static int sec_debug_init(struct hisi_qm *qm)
{ {
struct sec_dev *sec = container_of(qm, struct sec_dev, qm);
int i; int i;
if (qm->pdev->device == SEC_PF_PCI_DEVICE_ID) {
for (i = SEC_CURRENT_QM; i < SEC_DEBUG_FILE_NUM; i++) { for (i = SEC_CURRENT_QM; i < SEC_DEBUG_FILE_NUM; i++) {
spin_lock_init(&sec->debug.files[i].lock); spin_lock_init(&sec->debug.files[i].lock);
sec->debug.files[i].index = i; sec->debug.files[i].index = i;
sec->debug.files[i].qm = &sec->qm; sec->debug.files[i].qm = qm;
debugfs_create_file(sec_dbg_file_name[i], 0600, debugfs_create_file(sec_dbg_file_name[i], 0600,
sec->qm.debug.debug_root, qm->debug.debug_root,
sec->debug.files + i, sec->debug.files + i,
&sec_dbg_fops); &sec_dbg_fops);
} }
}
return sec_core_debug_init(sec); return sec_core_debug_init(qm);
} }
static int sec_debugfs_init(struct sec_dev *sec) static int sec_debugfs_init(struct hisi_qm *qm)
{ {
struct hisi_qm *qm = &sec->qm;
struct device *dev = &qm->pdev->dev; struct device *dev = &qm->pdev->dev;
int ret; int ret;
qm->debug.debug_root = debugfs_create_dir(dev_name(dev), qm->debug.debug_root = debugfs_create_dir(dev_name(dev),
sec_debugfs_root); sec_debugfs_root);
qm->debug.sqe_mask_offset = SEC_SQE_MASK_OFFSET; qm->debug.sqe_mask_offset = SEC_SQE_MASK_OFFSET;
qm->debug.sqe_mask_len = SEC_SQE_MASK_LEN; qm->debug.sqe_mask_len = SEC_SQE_MASK_LEN;
ret = hisi_qm_debug_init(qm); ret = hisi_qm_debug_init(qm);
if (ret) if (ret)
goto failed_to_create; goto failed_to_create;
if (qm->pdev->device == SEC_PF_PCI_DEVICE_ID) { ret = sec_debug_init(qm);
ret = sec_debug_init(sec);
if (ret) if (ret)
goto failed_to_create; goto failed_to_create;
}
return 0; return 0;
...@@ -665,9 +665,9 @@ static int sec_debugfs_init(struct sec_dev *sec) ...@@ -665,9 +665,9 @@ static int sec_debugfs_init(struct sec_dev *sec)
return ret; return ret;
} }
static void sec_debugfs_exit(struct sec_dev *sec) static void sec_debugfs_exit(struct hisi_qm *qm)
{ {
debugfs_remove_recursive(sec->qm.debug.debug_root); debugfs_remove_recursive(qm->debug.debug_root);
} }
static void sec_log_hw_error(struct hisi_qm *qm, u32 err_sts) static void sec_log_hw_error(struct hisi_qm *qm, u32 err_sts)
...@@ -877,7 +877,7 @@ static int sec_probe(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -877,7 +877,7 @@ static int sec_probe(struct pci_dev *pdev, const struct pci_device_id *id)
goto err_probe_uninit; goto err_probe_uninit;
} }
ret = sec_debugfs_init(sec); ret = sec_debugfs_init(qm);
if (ret) if (ret)
pci_warn(pdev, "Failed to init debugfs!\n"); pci_warn(pdev, "Failed to init debugfs!\n");
...@@ -902,7 +902,7 @@ static int sec_probe(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -902,7 +902,7 @@ static int sec_probe(struct pci_dev *pdev, const struct pci_device_id *id)
err_remove_from_list: err_remove_from_list:
hisi_qm_del_from_list(qm, &sec_devices); hisi_qm_del_from_list(qm, &sec_devices);
sec_debugfs_exit(sec); sec_debugfs_exit(qm);
hisi_qm_stop(qm); hisi_qm_stop(qm);
err_probe_uninit: err_probe_uninit:
...@@ -926,7 +926,7 @@ static void sec_remove(struct pci_dev *pdev) ...@@ -926,7 +926,7 @@ static void sec_remove(struct pci_dev *pdev)
if (qm->fun_type == QM_HW_PF && qm->vfs_num) if (qm->fun_type == QM_HW_PF && qm->vfs_num)
hisi_qm_sriov_disable(pdev); hisi_qm_sriov_disable(pdev);
sec_debugfs_exit(sec); sec_debugfs_exit(qm);
(void)hisi_qm_stop(qm); (void)hisi_qm_stop(qm);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment