Commit 7903f96b authored by Tom Zanussi's avatar Tom Zanussi Committed by Xiaochen Shen
Browse files

crypto: iaa - Add Intel IAA Compression Accelerator crypto driver core

mainline inclusion
from mainline-v6.8-rc1
commit ea7a5cbb43696cfacf73e61916d1860ac30b5b2f
category: feature
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I9TA1S
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ea7a5cbb43696cfacf73e61916d1860ac30b5b2f



--------------------------------

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 ]

Intel-SIG: commit ea7a5cbb4369 crypto: iaa - Add Intel IAA Compression Accelerator crypto driver core.
Backporting patches for Intel IAA crypto driver on Intel Xeon platform.

Signed-off-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarXiaochen Shen <xiaochen.shen@intel.com>
parent cb1ffaaa
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -10593,6 +10593,13 @@ S: Supported
Q:	https://patchwork.kernel.org/project/linux-dmaengine/list/
F:	drivers/dma/ioat*
INTEL IAA CRYPTO DRIVER
M:	Tom Zanussi <tom.zanussi@linux.intel.com>
L:	linux-crypto@vger.kernel.org
S:	Supported
F:	Documentation/driver-api/crypto/iaa/iaa-crypto.rst
F:	drivers/crypto/intel/iaa/*
INTEL IDLE DRIVER
M:	Jacob Pan <jacob.jun.pan@linux.intel.com>
M:	Len Brown <lenb@kernel.org>
+1 −0
Original line number Diff line number Diff line
@@ -3,3 +3,4 @@
source "drivers/crypto/intel/keembay/Kconfig"
source "drivers/crypto/intel/ixp4xx/Kconfig"
source "drivers/crypto/intel/qat/Kconfig"
source "drivers/crypto/intel/iaa/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -3,3 +3,4 @@
obj-y += keembay/
obj-y += ixp4xx/
obj-$(CONFIG_CRYPTO_DEV_QAT) += qat/
obj-$(CONFIG_CRYPTO_DEV_IAA_CRYPTO) += iaa/
+10 −0
Original line number Diff line number Diff line
config CRYPTO_DEV_IAA_CRYPTO
	tristate "Support for Intel(R) IAA Compression Accelerator"
	depends on CRYPTO_DEFLATE
	depends on INTEL_IDXD
	default n
	help
	  This driver supports acceleration for compression and
	  decompression with the Intel Analytics Accelerator (IAA)
	  hardware using the cryptographic API.  If you choose 'M'
	  here, the module will be called iaa_crypto.
+10 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for IAA crypto device drivers
#

ccflags-y += -I $(srctree)/drivers/dma/idxd -DDEFAULT_SYMBOL_NAMESPACE=IDXD

obj-$(CONFIG_CRYPTO_DEV_IAA_CRYPTO) := iaa_crypto.o

iaa_crypto-y := iaa_crypto_main.o
Loading