mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Add a new driver, qat_6xxx, to support QAT GEN6 devices. QAT GEN6 devices are a follow-on generation of GEN4 devices and differently from the previous generation, they can support all three services (symmetric, asymmetric, and data compression) concurrently. In order to have the qat_6xxx driver to reuse some of the GEN4 logic, a new abstraction layer has been introduced to bridge the two implementations. This allows to avoid code duplication and to keep the qat_6xxx driver isolated from the GEN4 logic. This approach has been used for the PF to VF logic and the HW CSR access logic. Signed-off-by: Laurent M Coquerel <laurent.m.coquerel@intel.com> Co-developed-by: George Abraham P <george.abraham.p@intel.com> Signed-off-by: George Abraham P <george.abraham.p@intel.com> Co-developed-by: Karthikeyan Gopal <karthikeyan.gopal@intel.com> Signed-off-by: Karthikeyan Gopal <karthikeyan.gopal@intel.com> Co-developed-by: Suman Kumar Chakraborty <suman.kumar.chakraborty@intel.com> Signed-off-by: Suman Kumar Chakraborty <suman.kumar.chakraborty@intel.com> Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
134 lines
4.1 KiB
Text
134 lines
4.1 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
config CRYPTO_DEV_QAT
|
|
tristate
|
|
select CRYPTO_AEAD
|
|
select CRYPTO_AUTHENC
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_AKCIPHER
|
|
select CRYPTO_DH
|
|
select CRYPTO_HMAC
|
|
select CRYPTO_RSA
|
|
select CRYPTO_SHA1
|
|
select CRYPTO_SHA256
|
|
select CRYPTO_SHA512
|
|
select CRYPTO_LIB_AES
|
|
select FW_LOADER
|
|
select CRC8
|
|
|
|
config CRYPTO_DEV_QAT_DH895xCC
|
|
tristate "Support for Intel(R) DH895xCC"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) DH895xcc with Intel(R) QuickAssist Technology
|
|
for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_dh895xcc.
|
|
|
|
config CRYPTO_DEV_QAT_C3XXX
|
|
tristate "Support for Intel(R) C3XXX"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) C3xxx with Intel(R) QuickAssist Technology
|
|
for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_c3xxx.
|
|
|
|
config CRYPTO_DEV_QAT_C62X
|
|
tristate "Support for Intel(R) C62X"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) C62x with Intel(R) QuickAssist Technology
|
|
for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_c62x.
|
|
|
|
config CRYPTO_DEV_QAT_4XXX
|
|
tristate "Support for Intel(R) QAT_4XXX"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) QuickAssist Technology QAT_4xxx
|
|
for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_4xxx.
|
|
|
|
config CRYPTO_DEV_QAT_420XX
|
|
tristate "Support for Intel(R) QAT_420XX"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) QuickAssist Technology QAT_420xx
|
|
for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_420xx.
|
|
|
|
config CRYPTO_DEV_QAT_6XXX
|
|
tristate "Support for Intel(R) QuickAssist Technology QAT_6XXX"
|
|
depends on (X86 || COMPILE_TEST)
|
|
depends on PCI
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) QuickAssist Technology QAT_6xxx
|
|
for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_6xxx.
|
|
|
|
config CRYPTO_DEV_QAT_DH895xCCVF
|
|
tristate "Support for Intel(R) DH895xCC Virtual Function"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select PCI_IOV
|
|
select CRYPTO_DEV_QAT
|
|
|
|
help
|
|
Support for Intel(R) DH895xcc with Intel(R) QuickAssist Technology
|
|
Virtual Function for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_dh895xccvf.
|
|
|
|
config CRYPTO_DEV_QAT_C3XXXVF
|
|
tristate "Support for Intel(R) C3XXX Virtual Function"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select PCI_IOV
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) C3xxx with Intel(R) QuickAssist Technology
|
|
Virtual Function for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_c3xxxvf.
|
|
|
|
config CRYPTO_DEV_QAT_C62XVF
|
|
tristate "Support for Intel(R) C62X Virtual Function"
|
|
depends on PCI && (!CPU_BIG_ENDIAN || COMPILE_TEST)
|
|
select PCI_IOV
|
|
select CRYPTO_DEV_QAT
|
|
help
|
|
Support for Intel(R) C62x with Intel(R) QuickAssist Technology
|
|
Virtual Function for accelerating crypto and compression workloads.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called qat_c62xvf.
|
|
|
|
config CRYPTO_DEV_QAT_ERROR_INJECTION
|
|
bool "Support for Intel(R) QAT Devices Heartbeat Error Injection"
|
|
depends on CRYPTO_DEV_QAT
|
|
depends on DEBUG_FS
|
|
help
|
|
Enables a mechanism that allows to inject a heartbeat error on
|
|
Intel(R) QuickAssist devices for testing purposes.
|
|
|
|
This is intended for developer use only.
|
|
If unsure, say N.
|
|
|
|
This functionality is available via debugfs entry of the Intel(R)
|
|
QuickAssist device
|