]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes
authorCyrille Pitchen <cyrille.pitchen@atmel.com>
Thu, 26 Jan 2017 16:07:56 +0000 (17:07 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 3 Feb 2017 10:16:14 +0000 (18:16 +0800)
commit41adb5e9a561a07ce7c7c0803a0e988bc119b7ed
tree7bd40206ac0ca5832b0bdeddff825465c16a7d7c
parentc0d8a82b69669f92aa82a900e2cfa99fd6c742b4
crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes

This patchs allows to combine the AES and SHA hardware accelerators on
some Atmel SoCs. Doing so, AES blocks are only written to/read from the
AES hardware. Those blocks are also transferred from the AES to the SHA
accelerator internally, without additionnal accesses to the system busses.

Hence, the AES and SHA accelerators work in parallel to process all the
data blocks, instead of serializing the process by (de)crypting those
blocks first then authenticating them after like the generic
crypto/authenc.c driver does.

Of course, both the AES and SHA hardware accelerators need to be available
before we can start to process the data blocks. Hence we use their crypto
request queue to synchronize both drivers.

Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/Kconfig
drivers/crypto/atmel-aes-regs.h
drivers/crypto/atmel-aes.c
drivers/crypto/atmel-authenc.h [new file with mode: 0644]
drivers/crypto/atmel-sha-regs.h
drivers/crypto/atmel-sha.c