crypto: crc32 - Add ARM64 CRC32 hw accelerated module
authorYazen Ghannam <yazen.ghannam@linaro.org>
Wed, 19 Nov 2014 17:19:37 +0000 (11:19 -0600)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 20 Nov 2014 14:39:39 +0000 (22:39 +0800)
commitf6f203faa3ebd8fa229e34424850a0919ded6c10
tree0099a95e8a8f7dbe059cf626aec5ae0b7d7a0cb9
parentaa408d6019775c1b4362895df7929a043fa79804
crypto: crc32 - Add ARM64 CRC32 hw accelerated module

This module registers a crc32 algorithm and a crc32c algorithm
that use the optional CRC32 and CRC32C instructions in ARMv8.

Tested on AMD Seattle.

Improvement compared to crc32c-generic algorithm:
TCRYPT CRC32C speed test shows ~450% speedup.
Simple dd write tests to btrfs filesystem show ~30% speedup.

Signed-off-by: Yazen Ghannam <yazen.ghannam@linaro.org>
Acked-by: Steve Capper <steve.capper@linaro.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/Kconfig
arch/arm64/crypto/Makefile
arch/arm64/crypto/crc32-arm64.c [new file with mode: 0644]