kernel: 6.18: backport eip93 driver fixes
Backport minor fixes for the eip93 driver from upstream. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> Link: https://github.com/openwrt/openwrt/pull/21078 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
354a26b094
commit
9a0a5ce89b
@ -0,0 +1,29 @@
|
||||
From b7abbc8c7acaeb60c114b038f1fa91bbedb3d16a Mon Sep 17 00:00:00 2001
|
||||
From: Aleksander Jan Bajkowski <olek2@wp.pl>
|
||||
Date: Sun, 8 Feb 2026 11:35:53 +0100
|
||||
Subject: [PATCH] crypto: inside-secure/eip93 - fix register definition
|
||||
|
||||
Checked the register definitions with the documentation[1]. Turns out
|
||||
that the PKTE_INBUF_CNT register has a bad offset. It's used in Direct
|
||||
Host Mode (DHM). The driver uses Autonomous Ring Mode (ARM), so it
|
||||
causes no harm.
|
||||
|
||||
1. ADSP-SC58x/ADSP-2158x SHARC+ Processor Hardware Reference
|
||||
Fixes: 9739f5f93b78 ("crypto: eip93 - Add Inside Secure SafeXcel EIP-93 crypto engine support")
|
||||
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
|
||||
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
---
|
||||
drivers/crypto/inside-secure/eip93/eip93-regs.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/crypto/inside-secure/eip93/eip93-regs.h
|
||||
+++ b/drivers/crypto/inside-secure/eip93/eip93-regs.h
|
||||
@@ -109,7 +109,7 @@
|
||||
#define EIP93_REG_PE_BUF_THRESH 0x10c
|
||||
#define EIP93_PE_OUTBUF_THRESH GENMASK(23, 16)
|
||||
#define EIP93_PE_INBUF_THRESH GENMASK(7, 0)
|
||||
-#define EIP93_REG_PE_INBUF_COUNT 0x100
|
||||
+#define EIP93_REG_PE_INBUF_COUNT 0x110
|
||||
#define EIP93_REG_PE_OUTBUF_COUNT 0x114
|
||||
#define EIP93_REG_PE_BUF_RW_PNTR 0x118 /* BUF_PNTR */
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
From 5377032914b29b4643adece0ff1dfc67e36700f4 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksander Jan Bajkowski <olek2@wp.pl>
|
||||
Date: Fri, 6 Mar 2026 23:17:40 +0100
|
||||
Subject: [PATCH] crypto: inside-secure/eip93 - register hash before
|
||||
authenc algorithms
|
||||
|
||||
Register hash before hmac and authenc algorithms. This will ensure
|
||||
selftests pass at startup. Previously, selftests failed on the
|
||||
crypto_alloc_ahash() function since the associated algorithm was
|
||||
not yet registered.
|
||||
|
||||
Fixes following error:
|
||||
...
|
||||
[ 18.375811] alg: self-tests for authenc(hmac(sha1),cbc(aes)) using authenc(hmac(sha1-eip93),cbc(aes-eip93)) failed (rc=-2)
|
||||
[ 18.382140] alg: self-tests for authenc(hmac(sha224),rfc3686(ctr(aes))) using authenc(hmac(sha224-eip93),rfc3686(ctr(aes-eip93))) failed (rc=-2)
|
||||
[ 18.395029] alg: aead: authenc(hmac(sha256-eip93),cbc(des-eip93)) setkey failed on test vector 0; expected_error=0, actual_error=-2, flags=0x1
|
||||
[ 18.409734] alg: aead: authenc(hmac(md5-eip93),cbc(des3_ede-eip93)) setkey failed on test vector 0; expected_error=0, actual_error=-2, flags=0x1
|
||||
...
|
||||
|
||||
Fixes: 9739f5f93b78 ("crypto: eip93 - Add Inside Secure SafeXcel EIP-93 crypto engine support")
|
||||
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
|
||||
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
---
|
||||
drivers/crypto/inside-secure/eip93/eip93-main.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/drivers/crypto/inside-secure/eip93/eip93-main.c
|
||||
+++ b/drivers/crypto/inside-secure/eip93/eip93-main.c
|
||||
@@ -36,6 +36,14 @@ static struct eip93_alg_template *eip93_
|
||||
&eip93_alg_cbc_aes,
|
||||
&eip93_alg_ctr_aes,
|
||||
&eip93_alg_rfc3686_aes,
|
||||
+ &eip93_alg_md5,
|
||||
+ &eip93_alg_sha1,
|
||||
+ &eip93_alg_sha224,
|
||||
+ &eip93_alg_sha256,
|
||||
+ &eip93_alg_hmac_md5,
|
||||
+ &eip93_alg_hmac_sha1,
|
||||
+ &eip93_alg_hmac_sha224,
|
||||
+ &eip93_alg_hmac_sha256,
|
||||
&eip93_alg_authenc_hmac_md5_cbc_des,
|
||||
&eip93_alg_authenc_hmac_sha1_cbc_des,
|
||||
&eip93_alg_authenc_hmac_sha224_cbc_des,
|
||||
@@ -52,14 +60,6 @@ static struct eip93_alg_template *eip93_
|
||||
&eip93_alg_authenc_hmac_sha1_rfc3686_aes,
|
||||
&eip93_alg_authenc_hmac_sha224_rfc3686_aes,
|
||||
&eip93_alg_authenc_hmac_sha256_rfc3686_aes,
|
||||
- &eip93_alg_md5,
|
||||
- &eip93_alg_sha1,
|
||||
- &eip93_alg_sha224,
|
||||
- &eip93_alg_sha256,
|
||||
- &eip93_alg_hmac_md5,
|
||||
- &eip93_alg_hmac_sha1,
|
||||
- &eip93_alg_hmac_sha224,
|
||||
- &eip93_alg_hmac_sha256,
|
||||
};
|
||||
|
||||
inline void eip93_irq_disable(struct eip93_device *eip93, u32 mask)
|
||||
Loading…
Reference in New Issue
Block a user