diff options
author | Horia Geantă <horia.geanta@nxp.com> | 2018-09-12 11:59:33 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2018-09-21 13:24:51 +0800 |
commit | 8d818c1055013d355d36188f21c7535687374f6c (patch) | |
tree | 100071dde82f6821cefa872c91959e927592a672 /drivers/crypto/caam/compat.h | |
parent | 94cebd9da42cffbcf308c295656e6cd73d02a610 (diff) |
crypto: caam/qi2 - add DPAA2-CAAM driver
Add CAAM driver that works using the DPSECI backend, i.e. manages
DPSECI DPAA2 objects sitting on the Management Complex (MC) fsl-mc bus.
Data transfers (crypto requests) are sent/received to/from CAAM crypto
engine via Queue Interface (v2), this being similar to existing caam/qi.
OTOH, configuration/setup (obtaining virtual queue IDs, authorization
etc.) is done by sending commands to the MC f/w.
Note that the CAAM accelerator included in DPAA2 platforms still has
Job Rings. However, the driver being added does not handle access
via this backend. Kconfig & Makefile are updated such that DPAA2-CAAM
(a.k.a. "caam/qi2") driver does not depend on caam/jr or caam/qi
backends - which rely on platform bus support (ctrl.c).
Support for the following aead and authenc algorithms is also added
in this patch:
-aead:
gcm(aes)
rfc4106(gcm(aes))
rfc4543(gcm(aes))
-authenc:
authenc(hmac({md5,sha*}),cbc({aes,des,des3_ede}))
echainiv(authenc(hmac({md5,sha*}),cbc({aes,des,des3_ede})))
authenc(hmac({md5,sha*}),rfc3686(ctr(aes))
seqiv(authenc(hmac({md5,sha*}),rfc3686(ctr(aes)))
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/caam/compat.h')
-rw-r--r-- | drivers/crypto/caam/compat.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/crypto/caam/compat.h b/drivers/crypto/caam/compat.h index f1cfb23975a0..9604ff7a335e 100644 --- a/drivers/crypto/caam/compat.h +++ b/drivers/crypto/caam/compat.h @@ -17,6 +17,7 @@ #include <linux/of_platform.h> #include <linux/dma-mapping.h> #include <linux/io.h> +#include <linux/iommu.h> #include <linux/spinlock.h> #include <linux/rtnetlink.h> #include <linux/in.h> |