crypto: stm32 - Support for STM32 CRC32 crypto module
authorFabien DESSENNE <fabien.dessenne@st.com>
Tue, 21 Mar 2017 15:13:28 +0000 (16:13 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 5 Apr 2017 13:58:33 +0000 (21:58 +0800)
commitb51dbe90912a0ce0c78717d2a8374af80b18ed11
tree8291565588ac7913bbac172ebfb9caf85f3171f4
parentc0a680c4cc1b54c3f38b663f540d55c584452394
crypto: stm32 - Support for STM32 CRC32 crypto module

This module registers a CRC32 ("Ethernet") and a CRC32C (Castagnoli)
algorithm that make use of the STMicroelectronics STM32 crypto hardware.

Theses algorithms are compatible with the little-endian generic ones.
Both algorithms use ~0 as default seed (key).
With CRC32C the output is xored with ~0.

Using TCRYPT CRC32C speed test, this shows up to 900% speedup compared
to the crc32c-generic algorithm.

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/Kconfig
drivers/crypto/Makefile
drivers/crypto/stm32/Kconfig [new file with mode: 0644]
drivers/crypto/stm32/Makefile [new file with mode: 0644]
drivers/crypto/stm32/stm32_crc32.c [new file with mode: 0644]