crypto: iaa - Add Intel IAA Compression Accelerator crypto driver core
authorTom Zanussi <tom.zanussi@linux.intel.com>
Tue, 5 Dec 2023 21:25:24 +0000 (15:25 -0600)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 15 Dec 2023 09:52:53 +0000 (17:52 +0800)
commitea7a5cbb43696cfacf73e61916d1860ac30b5b2f
tree117b8772d2e405611e313d91cfb0d10f35ae6e3c
parent8ccc257b29a183c42830aa854ed7b50fa22f8731
crypto: iaa - Add Intel IAA Compression Accelerator crypto driver core

The Intel Analytics Accelerator (IAA) is a hardware accelerator that
provides very high thoughput compression/decompression compatible with
the DEFLATE compression standard described in RFC 1951, which is the
compression/decompression algorithm exported by this module.

Users can select IAA compress/decompress acceleration by specifying
one of the deflate-iaa* algorithms as the compression algorithm to use
by whatever facility allows asynchronous compression algorithms to be
selected.

For example, zswap can select the IAA fixed deflate algorithm
'deflate-iaa' via:

  # echo deflate-iaa > /sys/module/zswap/parameters/compressor

This patch adds iaa_crypto as an idxd sub-driver and tracks iaa
devices and workqueues as they are probed or removed.

[ Based on work originally by George Powley, Jing Lin and Kyung Min
Park ]

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
MAINTAINERS
drivers/crypto/intel/Kconfig
drivers/crypto/intel/Makefile
drivers/crypto/intel/iaa/Kconfig [new file with mode: 0644]
drivers/crypto/intel/iaa/Makefile [new file with mode: 0644]
drivers/crypto/intel/iaa/iaa_crypto.h [new file with mode: 0644]
drivers/crypto/intel/iaa/iaa_crypto_main.c [new file with mode: 0644]