]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - drivers/crypto/Makefile
crypto: caam/qi2 - add DPAA2-CAAM driver
authorHoria Geantă <horia.geanta@nxp.com>
Wed, 12 Sep 2018 08:59:33 +0000 (11:59 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Sep 2018 05:24:51 +0000 (13:24 +0800)
commit8d818c1055013d355d36188f21c7535687374f6c
tree100071dde82f6821cefa872c91959e927592a672
parent94cebd9da42cffbcf308c295656e6cd73d02a610
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>
drivers/crypto/Makefile
drivers/crypto/caam/Kconfig
drivers/crypto/caam/Makefile
drivers/crypto/caam/caamalg_qi2.c [new file with mode: 0644]
drivers/crypto/caam/caamalg_qi2.h [new file with mode: 0644]
drivers/crypto/caam/compat.h
drivers/crypto/caam/error.c