diff options
author | Daniel Axtens <dja@axtens.net> | 2017-03-15 23:37:36 +1100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2017-03-24 22:02:53 +0800 |
commit | b01df1c16c9a6f7a14f843d3ac6b9eef5a7bb17e (patch) | |
tree | f086dbb3d07867f4ef0a38095858ee6f75778171 /crypto | |
parent | 08c7dd1bd4b3a59c0d57b3ce4fe5ba1a90123685 (diff) | |
download | linux-b01df1c16c9a6f7a14f843d3ac6b9eef5a7bb17e.tar.gz linux-b01df1c16c9a6f7a14f843d3ac6b9eef5a7bb17e.tar.bz2 linux-b01df1c16c9a6f7a14f843d3ac6b9eef5a7bb17e.zip |
crypto: powerpc - Add CRC-T10DIF acceleration
T10DIF is a CRC16 used heavily in NVMe.
It turns out we can accelerate it with a CRC32 library and a few
little tricks.
Provide the accelerator based the refactored CRC32 code.
Cc: Anton Blanchard <anton@samba.org>
Thanks-to: Hong Bo Peng <penghb@cn.ibm.com>
Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/Kconfig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index f37e9cca50e1..9cf63dd84364 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -513,6 +513,15 @@ config CRYPTO_CRCT10DIF_PCLMUL 'crct10dif-plcmul' module, which is faster when computing the crct10dif checksum as compared with the generic table implementation. +config CRYPTO_CRCT10DIF_VPMSUM + tristate "CRC32T10DIF powerpc64 hardware acceleration" + depends on PPC64 && ALTIVEC && CRC_T10DIF + select CRYPTO_HASH + help + CRC10T10DIF algorithm implemented using vector polynomial + multiply-sum (vpmsum) instructions, introduced in POWER8. Enable on + POWER8 and newer processors for improved performance. + config CRYPTO_GHASH tristate "GHASH digest algorithm" select CRYPTO_GF128MUL |