2021-04-10 09:51:09

by Hui Tang

[permalink] [raw]
Subject: [PATCH 0/3] crypto: hisilicon/hpre - add debug log

This patchset adds the debug log and cleanup code style.

Hui Tang (3):
crypto: hisilicon/hpre - delete the rudundant space after return
crypto: hisilicon/hpre - use the correct variable type
crypto: hisilicon/hpre - add debug log

drivers/crypto/hisilicon/hpre/hpre_crypto.c | 11 +++++++++--
drivers/crypto/hisilicon/hpre/hpre_main.c | 4 ++--
2 files changed, 11 insertions(+), 4 deletions(-)

--
2.8.1


2021-04-10 09:51:09

by Hui Tang

[permalink] [raw]
Subject: [PATCH 1/3] crypto: hisilicon/hpre - delete the rudundant space after return

There are two spaces after return, just keep one.

Signed-off-by: Hui Tang <[email protected]>
---
drivers/crypto/hisilicon/hpre/hpre_crypto.c | 2 +-
drivers/crypto/hisilicon/hpre/hpre_main.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/hisilicon/hpre/hpre_crypto.c b/drivers/crypto/hisilicon/hpre/hpre_crypto.c
index d23893a..b312a38 100644
--- a/drivers/crypto/hisilicon/hpre/hpre_crypto.c
+++ b/drivers/crypto/hisilicon/hpre/hpre_crypto.c
@@ -344,7 +344,7 @@ static int hpre_alg_res_post_hf(struct hpre_ctx *ctx, struct hpre_sqe *sqe,
HREE_SQE_DONE_MASK;

if (likely(err == HPRE_NO_HW_ERR && done == HPRE_HW_TASK_DONE))
- return 0;
+ return 0;

return -EINVAL;
}
diff --git a/drivers/crypto/hisilicon/hpre/hpre_main.c b/drivers/crypto/hisilicon/hpre/hpre_main.c
index 264684a..916af3f 100644
--- a/drivers/crypto/hisilicon/hpre/hpre_main.c
+++ b/drivers/crypto/hisilicon/hpre/hpre_main.c
@@ -472,7 +472,7 @@ static int hpre_clear_enable_write(struct hpre_debugfs_file *file, u32 val)
~HPRE_CTRL_CNT_CLR_CE_BIT) | val;
writel(tmp, qm->io_base + HPRE_CTRL_CNT_CLR_CE);

- return 0;
+ return 0;
}

static u32 hpre_cluster_inqry_read(struct hpre_debugfs_file *file)
@@ -494,7 +494,7 @@ static int hpre_cluster_inqry_write(struct hpre_debugfs_file *file, u32 val)

writel(val, qm->io_base + offset + HPRE_CLUSTER_INQURY);

- return 0;
+ return 0;
}

static ssize_t hpre_ctrl_debug_read(struct file *filp, char __user *buf,
--
2.8.1

2021-04-10 09:51:09

by Hui Tang

[permalink] [raw]
Subject: [PATCH 2/3] crypto: hisilicon/hpre - use the correct variable type

The return value of 'le32_to_cpu' is unsigned, so change the
variable type from 'int' to 'unsigned int'.

Signed-off-by: Hui Tang <[email protected]>
---
drivers/crypto/hisilicon/hpre/hpre_crypto.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/hisilicon/hpre/hpre_crypto.c b/drivers/crypto/hisilicon/hpre/hpre_crypto.c
index b312a38..0adaf92 100644
--- a/drivers/crypto/hisilicon/hpre/hpre_crypto.c
+++ b/drivers/crypto/hisilicon/hpre/hpre_crypto.c
@@ -326,7 +326,8 @@ static int hpre_alg_res_post_hf(struct hpre_ctx *ctx, struct hpre_sqe *sqe,
void **kreq)
{
struct hpre_asym_request *req;
- int err, id, done;
+ unsigned int err, done;
+ int id;

#define HPRE_NO_HW_ERR 0
#define HPRE_HW_TASK_DONE 3
--
2.8.1

2021-04-10 09:51:11

by Hui Tang

[permalink] [raw]
Subject: [PATCH 3/3] crypto: hisilicon/hpre - add debug log

When the received sqe is abnormal, the error message in the sqe written
back by the hardware is printed to help to analyze the abnormal causes.

Signed-off-by: Hui Tang <[email protected]>
---
drivers/crypto/hisilicon/hpre/hpre_crypto.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/hisilicon/hpre/hpre_crypto.c b/drivers/crypto/hisilicon/hpre/hpre_crypto.c
index 0adaf92..c8531c0 100644
--- a/drivers/crypto/hisilicon/hpre/hpre_crypto.c
+++ b/drivers/crypto/hisilicon/hpre/hpre_crypto.c
@@ -325,14 +325,16 @@ static void hpre_hw_data_clr_all(struct hpre_ctx *ctx,
static int hpre_alg_res_post_hf(struct hpre_ctx *ctx, struct hpre_sqe *sqe,
void **kreq)
{
+ struct device *dev = HPRE_DEV(ctx);
struct hpre_asym_request *req;
- unsigned int err, done;
+ unsigned int err, done, alg;
int id;

#define HPRE_NO_HW_ERR 0
#define HPRE_HW_TASK_DONE 3
#define HREE_HW_ERR_MASK 0x7ff
#define HREE_SQE_DONE_MASK 0x3
+#define HREE_ALG_TYPE_MASK 0x1f
id = (int)le16_to_cpu(sqe->tag);
req = ctx->req_list[id];
hpre_rm_req_from_ctx(req);
@@ -347,6 +349,10 @@ static int hpre_alg_res_post_hf(struct hpre_ctx *ctx, struct hpre_sqe *sqe,
if (likely(err == HPRE_NO_HW_ERR && done == HPRE_HW_TASK_DONE))
return 0;

+ alg = le32_to_cpu(sqe->dw0) & HREE_ALG_TYPE_MASK;
+ dev_err_ratelimited(dev, "alg[0x%x] error: done[0x%x], etype[0x%x]\n",
+ alg, done, err);
+
return -EINVAL;
}

--
2.8.1

2021-04-16 11:44:55

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH 0/3] crypto: hisilicon/hpre - add debug log

On Sat, Apr 10, 2021 at 05:46:58PM +0800, Hui Tang wrote:
> This patchset adds the debug log and cleanup code style.
>
> Hui Tang (3):
> crypto: hisilicon/hpre - delete the rudundant space after return
> crypto: hisilicon/hpre - use the correct variable type
> crypto: hisilicon/hpre - add debug log
>
> drivers/crypto/hisilicon/hpre/hpre_crypto.c | 11 +++++++++--
> drivers/crypto/hisilicon/hpre/hpre_main.c | 4 ++--
> 2 files changed, 11 insertions(+), 4 deletions(-)

All applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt