2020-06-26 11:54:48

by liulongfang

[permalink] [raw]
Subject: [PATCH 0/5] crypto: hisilicon/sec2 - fix SEC bugs and coding styles

Fix some SEC driver bugs and modify some coding styles

Kai Ye (2):
crypto: hisilicon/sec2 - clear SEC debug regs
crypto:hisilicon/sec2 - update busy processing logic

Longfang Liu (3):
crypto: hisilicon/sec2 - update SEC initialization and reset
crypto: hisilicon/sec2 - update debugfs interface parameters
crypto: hisilicon/sec2 - fix some coding styles

drivers/crypto/hisilicon/qm.h | 1 +
drivers/crypto/hisilicon/sec2/sec.h | 3 +
drivers/crypto/hisilicon/sec2/sec_crypto.c | 81 +++++++++++++------
drivers/crypto/hisilicon/sec2/sec_main.c | 126 +++++++++++++++--------------
4 files changed, 128 insertions(+), 83 deletions(-)

--
2.8.1


2020-06-26 11:54:49

by liulongfang

[permalink] [raw]
Subject: [PATCH 1/5] crypto: hisilicon/sec2 - clear SEC debug regs

From: Kai Ye <[email protected]>

SEC debug registers aren't cleared even if its driver is removed,
so add a clearing operation in driver removing.

Signed-off-by: Kai Ye <[email protected]>
Reviewed-by: Longfang Liu <[email protected]>
---
drivers/crypto/hisilicon/sec2/sec_main.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/crypto/hisilicon/sec2/sec_main.c b/drivers/crypto/hisilicon/sec2/sec_main.c
index a4cb58b..c2567cc 100644
--- a/drivers/crypto/hisilicon/sec2/sec_main.c
+++ b/drivers/crypto/hisilicon/sec2/sec_main.c
@@ -346,10 +346,17 @@ static int sec_set_user_domain_and_cache(struct hisi_qm *qm)
/* sec_debug_regs_clear() - clear the sec debug regs */
static void sec_debug_regs_clear(struct hisi_qm *qm)
{
+ int i;
+
/* clear current_qm */
writel(0x0, qm->io_base + QM_DFX_MB_CNT_VF);
writel(0x0, qm->io_base + QM_DFX_DB_CNT_VF);

+ /* clear sec dfx regs */
+ writel(0x1, qm->io_base + SEC_CTRL_CNT_CLR_CE);
+ for (i = 0; i < ARRAY_SIZE(sec_dfx_regs); i++)
+ readl(qm->io_base + sec_dfx_regs[i].offset);
+
/* clear rdclr_en */
writel(0x0, qm->io_base + SEC_CTRL_CNT_CLR_CE);

--
2.8.1