crypto: inside-secure - Enable extended algorithms on newer HW
authorPascal van Leeuwen <pascalvanl@gmail.com>
Fri, 6 Sep 2019 14:31:50 +0000 (16:31 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 13 Sep 2019 11:17:58 +0000 (21:17 +1000)
This patch enables algorithms that did not fit the original 32 bit
FUNCTION_EN register anymore via the FUNCTION2_EN extension reg.

Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel.c
drivers/crypto/inside-secure/safexcel.h

index 322d9e37987617e0dbedabac239c7e3f40204600..1f563e0b41585d65a645058cbabfaebe107ffb51 100644 (file)
@@ -505,6 +505,8 @@ static int safexcel_hw_init(struct safexcel_crypto_priv *priv)
                /* H/W capabilities selection: just enable everything */
                writel(EIP197_FUNCTION_ALL,
                       EIP197_PE(priv) + EIP197_PE_EIP96_FUNCTION_EN(pe));
+               writel(EIP197_FUNCTION_ALL,
+                      EIP197_PE(priv) + EIP197_PE_EIP96_FUNCTION2_EN(pe));
        }
 
        /* Command Descriptor Rings prepare */
index ecf068c293bb7486bb241a89072c21216b493e79..d06dee21e7d1e882a794ec29da4b6428a0de0416 100644 (file)
 #define EIP197_PE_EIP96_FUNCTION_EN(n)         (0x1004 + (0x2000 * (n)))
 #define EIP197_PE_EIP96_CONTEXT_CTRL(n)                (0x1008 + (0x2000 * (n)))
 #define EIP197_PE_EIP96_CONTEXT_STAT(n)                (0x100c + (0x2000 * (n)))
+#define EIP197_PE_EIP96_FUNCTION2_EN(n)                (0x1030 + (0x2000 * (n)))
 #define EIP197_PE_EIP96_OPTIONS(n)             (0x13f8 + (0x2000 * (n)))
 #define EIP197_PE_EIP96_VERSION(n)             (0x13fc + (0x2000 * (n)))
 #define EIP197_PE_OUT_DBUF_THRES(n)            (0x1c00 + (0x2000 * (n)))