Update some patch for uadk from mainline. To get more infomation, please visit the homepage: https://github.com/Linaro/uadk Signed-off-by: Wenkai Lin <linwenkai6@hisilicon.com>
75 lines
2.2 KiB
Diff
75 lines
2.2 KiB
Diff
From f83ee120e0dcab4120d65c045787a6bfc58b8c92 Mon Sep 17 00:00:00 2001
|
|
From: Kai Ye <yekai13@huawei.com>
|
|
Date: Tue, 8 Mar 2022 18:18:16 +0800
|
|
Subject: [PATCH 086/109] digest: simplify the process of represent BD state
|
|
|
|
The value of 'out_bytes' can be expressed the BD state. So not need to
|
|
use the marco variable. The BD state is non-zero value when the msg
|
|
recived successfully. Otherwise the BD state is zero.
|
|
|
|
Signed-off-by: Kai Ye <yekai13@huawei.com>
|
|
---
|
|
wd_digest.c | 22 +++++++++++++---------
|
|
1 file changed, 13 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/wd_digest.c b/wd_digest.c
|
|
index 06774be..fb29746 100644
|
|
--- a/wd_digest.c
|
|
+++ b/wd_digest.c
|
|
@@ -21,7 +21,6 @@
|
|
|
|
#define POLL_SIZE 100000
|
|
#define POLL_TIME 1000
|
|
-#define STREAM_MODE_STATE 1
|
|
|
|
static int g_digest_mac_len[WD_DIGEST_TYPE_MAX] = {
|
|
WD_DIGEST_SM3_LEN, WD_DIGEST_MD5_LEN, WD_DIGEST_SHA1_LEN,
|
|
@@ -48,10 +47,10 @@ struct wd_digest_sess {
|
|
__u32 key_bytes;
|
|
void *sched_key;
|
|
/*
|
|
- * Notify the BD state, 1 is final BD or middle BD,
|
|
- * 0 is normal mode or first BD, one session only supports one stream.
|
|
+ * Notify the BD state, zero is frist BD, non-zero
|
|
+ * is middle or final BD.
|
|
*/
|
|
- int state;
|
|
+ int bd_state;
|
|
/* Total of data for stream mode */
|
|
__u64 long_data_len;
|
|
};
|
|
@@ -301,11 +300,11 @@ static void fill_request_msg(struct wd_digest_msg *msg,
|
|
msg->has_next = req->has_next;
|
|
sess->long_data_len += req->in_bytes;
|
|
msg->long_data_len = sess->long_data_len;
|
|
- /* To store the stream bd state, iv_bytes also means bd state */
|
|
- msg->iv_bytes = sess->state;
|
|
+ /* To store the stream BD state, iv_bytes also means BD state */
|
|
+ msg->iv_bytes = sess->bd_state;
|
|
if (req->has_next == 0) {
|
|
sess->long_data_len = 0;
|
|
- sess->state = 0;
|
|
+ sess->bd_state = 0;
|
|
}
|
|
}
|
|
|
|
@@ -339,8 +338,13 @@ static int send_recv_sync(struct wd_ctx_internal *ctx, struct wd_digest_sess *ds
|
|
goto out;
|
|
}
|
|
}
|
|
- if (msg->has_next && msg->result == WD_SUCCESS)
|
|
- dsess->state = STREAM_MODE_STATE;
|
|
+
|
|
+ /*
|
|
+ * 'out_bytes' can be expressed BD state, non-zero is final BD or
|
|
+ * middle BD as stream mode.
|
|
+ */
|
|
+ if (msg->has_next)
|
|
+ dsess->bd_state = msg->out_bytes;
|
|
} while (ret < 0);
|
|
|
|
out:
|
|
--
|
|
2.27.0
|
|
|