Commit 1e9bc276 authored by Zaibo Xu's avatar Zaibo Xu Committed by Herbert Xu

crypto: hisilicon - add DebugFS for HiSilicon SEC

The HiSilicon SEC engine driver uses DebugFS
to provide main debug information for user space.
Signed-off-by: default avatarZaibo Xu <xuzaibo@huawei.com>
Signed-off-by: default avatarLongfang Liu <liulongfang@huawei.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent cbfe56e6
...@@ -119,9 +119,32 @@ enum sec_endian { ...@@ -119,9 +119,32 @@ enum sec_endian {
SEC_64BE SEC_64BE
}; };
enum sec_debug_file_index {
SEC_CURRENT_QM,
SEC_CLEAR_ENABLE,
SEC_DEBUG_FILE_NUM,
};
struct sec_debug_file {
enum sec_debug_file_index index;
spinlock_t lock;
struct hisi_qm *qm;
};
struct sec_dfx {
u64 send_cnt;
u64 recv_cnt;
};
struct sec_debug {
struct sec_dfx dfx;
struct sec_debug_file files[SEC_DEBUG_FILE_NUM];
};
struct sec_dev { struct sec_dev {
struct hisi_qm qm; struct hisi_qm qm;
struct list_head list; struct list_head list;
struct sec_debug debug;
u32 ctx_q_num; u32 ctx_q_num;
u32 num_vfs; u32 num_vfs;
unsigned long status; unsigned long status;
......
...@@ -120,6 +120,8 @@ static void sec_req_cb(struct hisi_qp *qp, void *resp) ...@@ -120,6 +120,8 @@ static void sec_req_cb(struct hisi_qp *qp, void *resp)
return; return;
} }
__sync_add_and_fetch(&req->ctx->sec->debug.dfx.recv_cnt, 1);
req->ctx->req_op->buf_unmap(req->ctx, req); req->ctx->req_op->buf_unmap(req->ctx, req);
req->ctx->req_op->callback(req->ctx, req); req->ctx->req_op->callback(req->ctx, req);
...@@ -133,6 +135,7 @@ static int sec_bd_send(struct sec_ctx *ctx, struct sec_req *req) ...@@ -133,6 +135,7 @@ static int sec_bd_send(struct sec_ctx *ctx, struct sec_req *req)
mutex_lock(&qp_ctx->req_lock); mutex_lock(&qp_ctx->req_lock);
ret = hisi_qp_send(qp_ctx->qp, &req->sec_sqe); ret = hisi_qp_send(qp_ctx->qp, &req->sec_sqe);
mutex_unlock(&qp_ctx->req_lock); mutex_unlock(&qp_ctx->req_lock);
__sync_add_and_fetch(&ctx->sec->debug.dfx.send_cnt, 1);
if (ret == -EBUSY) if (ret == -EBUSY)
return -ENOBUFS; return -ENOBUFS;
......
This diff is collapsed.
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