crypto: qce - Add mode for rfc4309
authorThara Gopinath <thara.gopinath@linaro.org>
Thu, 29 Apr 2021 15:07:03 +0000 (11:07 -0400)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 14 May 2021 11:07:55 +0000 (19:07 +0800)
rf4309 is the specification that uses aes ccm algorithms with IPsec
security packets. Add a submode to identify rfc4309 ccm(aes) algorithm
in the crypto driver.

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/qce/common.h

index 3bc244b..b135440 100644 (file)
 #define QCE_MODE_CCM                   BIT(12)
 #define QCE_MODE_MASK                  GENMASK(12, 8)
 
+#define QCE_MODE_CCM_RFC4309           BIT(13)
+
 /* cipher encryption/decryption operations */
-#define QCE_ENCRYPT                    BIT(13)
-#define QCE_DECRYPT                    BIT(14)
+#define QCE_ENCRYPT                    BIT(30)
+#define QCE_DECRYPT                    BIT(31)
 
 #define IS_DES(flags)                  (flags & QCE_ALG_DES)
 #define IS_3DES(flags)                 (flags & QCE_ALG_3DES)
@@ -73,6 +75,7 @@
 #define IS_CTR(mode)                   (mode & QCE_MODE_CTR)
 #define IS_XTS(mode)                   (mode & QCE_MODE_XTS)
 #define IS_CCM(mode)                   (mode & QCE_MODE_CCM)
+#define IS_CCM_RFC4309(mode)           ((mode) & QCE_MODE_CCM_RFC4309)
 
 #define IS_ENCRYPT(dir)                        (dir & QCE_ENCRYPT)
 #define IS_DECRYPT(dir)                        (dir & QCE_DECRYPT)