crypto: qat - add qat_6xxx driver
authorLaurent M Coquerel <laurent.m.coquerel@intel.com>
Wed, 30 Apr 2025 11:34:53 +0000 (12:34 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 5 May 2025 10:20:45 +0000 (18:20 +0800)
commit17fd7514ae68c541bf952876ce2005cb4a53f283
treeb4eb7f8c14567759ece004e243f8c45bddd59145
parent942028bc2fd9f35b1d54be21c06d7de5c40cf6b5
crypto: qat - add qat_6xxx driver

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>
13 files changed:
drivers/crypto/intel/qat/Kconfig
drivers/crypto/intel/qat/Makefile
drivers/crypto/intel/qat/qat_6xxx/Makefile [new file with mode: 0644]
drivers/crypto/intel/qat/qat_6xxx/adf_6xxx_hw_data.c [new file with mode: 0644]
drivers/crypto/intel/qat/qat_6xxx/adf_6xxx_hw_data.h [new file with mode: 0644]
drivers/crypto/intel/qat/qat_6xxx/adf_drv.c [new file with mode: 0644]
drivers/crypto/intel/qat/qat_common/Makefile
drivers/crypto/intel/qat/qat_common/adf_accel_devices.h
drivers/crypto/intel/qat/qat_common/adf_cfg_common.h
drivers/crypto/intel/qat/qat_common/adf_fw_config.h
drivers/crypto/intel/qat/qat_common/adf_gen6_pm.h [new file with mode: 0644]
drivers/crypto/intel/qat/qat_common/adf_gen6_shared.c [new file with mode: 0644]
drivers/crypto/intel/qat/qat_common/adf_gen6_shared.h [new file with mode: 0644]