diff options
author | Yazen Ghannam <yazen.ghannam@linaro.org> | 2014-11-19 11:19:37 -0600 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2014-11-20 22:39:39 +0800 |
commit | f6f203faa3ebd8fa229e34424850a0919ded6c10 (patch) | |
tree | 0099a95e8a8f7dbe059cf626aec5ae0b7d7a0cb9 /arch/arm64/crypto/Kconfig | |
parent | aa408d6019775c1b4362895df7929a043fa79804 (diff) | |
download | linux-f6f203faa3ebd8fa229e34424850a0919ded6c10.tar.gz linux-f6f203faa3ebd8fa229e34424850a0919ded6c10.tar.bz2 linux-f6f203faa3ebd8fa229e34424850a0919ded6c10.zip |
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>
Diffstat (limited to 'arch/arm64/crypto/Kconfig')
-rw-r--r-- | arch/arm64/crypto/Kconfig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm64/crypto/Kconfig b/arch/arm64/crypto/Kconfig index 5562652c5316..c1a0468f7156 100644 --- a/arch/arm64/crypto/Kconfig +++ b/arch/arm64/crypto/Kconfig @@ -50,4 +50,8 @@ config CRYPTO_AES_ARM64_NEON_BLK select CRYPTO_AES select CRYPTO_ABLK_HELPER +config CRYPTO_CRC32_ARM64 + tristate "CRC32 and CRC32C using optional ARMv8 instructions" + depends on ARM64 + select CRYPTO_HASH endif |