This patchset adds support for QAT GEN6 devices, the successor to QAT GEN4 devices, by introducing a new driver, qat_6xxx. This initial implementation lays the groundwork for future enhancements that will be introduced in subsequent patchsets. The first part of the set (patches #1 to #3) reworks and relocates some of the existing features from the GEN4 device driver to the qat_common folder so that the implementation can be shared between GEN4 and GEN6 device drivers. The second part (patches #4 and #5) reworks the firmware loader to support the `dual signing method` used by GEN6 devices. The third part (patches #6 to #8) exposes symbols that are needed by the qat_6xxx driver. The fourth part (patches #9 and #10) updates the firmware APIs for GEN6 devices. The last patch (#11) introduces the qat_6xxx driver. George Abraham P (1): crypto: qat - rename and relocate timer logic Giovanni Cabiddu (1): crypto: qat - export adf_get_service_mask() Jack Xu (2): crypto: qat - refactor FW signing algorithm crypto: qat - add GEN6 firmware loader Laurent M Coquerel (1): crypto: qat - add qat_6xxx driver Suman Kumar Chakraborty (6): crypto: qat - refactor compression template logic crypto: qat - use pr_fmt() in qat uclo.c crypto: qat - expose configuration functions crypto: qat - export adf_init_admin_pm() crypto: qat - update firmware api crypto: qat - add firmware headers for GEN6 devices drivers/crypto/intel/qat/Kconfig | 12 + drivers/crypto/intel/qat/Makefile | 1 + .../intel/qat/qat_420xx/adf_420xx_hw_data.c | 7 +- .../intel/qat/qat_4xxx/adf_4xxx_hw_data.c | 7 +- drivers/crypto/intel/qat/qat_6xxx/Makefile | 3 + .../intel/qat/qat_6xxx/adf_6xxx_hw_data.c | 843 ++++++++++++++++++ .../intel/qat/qat_6xxx/adf_6xxx_hw_data.h | 148 +++ drivers/crypto/intel/qat/qat_6xxx/adf_drv.c | 224 +++++ .../intel/qat/qat_c3xxx/adf_c3xxx_hw_data.c | 1 - .../qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c | 1 - .../intel/qat/qat_c62x/adf_c62x_hw_data.c | 1 - .../intel/qat/qat_c62xvf/adf_c62xvf_hw_data.c | 1 - drivers/crypto/intel/qat/qat_common/Makefile | 6 +- .../intel/qat/qat_common/adf_accel_devices.h | 8 +- .../crypto/intel/qat/qat_common/adf_admin.c | 1 + .../intel/qat/qat_common/adf_cfg_common.h | 1 + .../intel/qat/qat_common/adf_cfg_services.c | 3 +- .../intel/qat/qat_common/adf_cfg_services.h | 1 + .../qat_common/{adf_gen2_dc.c => adf_dc.c} | 50 +- drivers/crypto/intel/qat/qat_common/adf_dc.h | 17 + .../intel/qat/qat_common/adf_fw_config.h | 1 + .../crypto/intel/qat/qat_common/adf_gen2_dc.h | 10 - .../intel/qat/qat_common/adf_gen2_hw_data.c | 57 ++ .../intel/qat/qat_common/adf_gen2_hw_data.h | 1 + .../intel/qat/qat_common/adf_gen4_config.c | 6 +- .../intel/qat/qat_common/adf_gen4_config.h | 3 + .../crypto/intel/qat/qat_common/adf_gen4_dc.c | 83 -- .../crypto/intel/qat/qat_common/adf_gen4_dc.h | 10 - .../intel/qat/qat_common/adf_gen4_hw_data.c | 70 ++ .../intel/qat/qat_common/adf_gen4_hw_data.h | 2 + .../crypto/intel/qat/qat_common/adf_gen6_pm.h | 28 + .../intel/qat/qat_common/adf_gen6_shared.c | 49 + .../intel/qat/qat_common/adf_gen6_shared.h | 15 + .../{adf_gen4_timer.c => adf_timer.c} | 18 +- .../{adf_gen4_timer.h => adf_timer.h} | 10 +- .../intel/qat/qat_common/icp_qat_fw_comp.h | 23 +- .../qat/qat_common/icp_qat_fw_loader_handle.h | 1 + .../intel/qat/qat_common/icp_qat_hw_51_comp.h | 99 ++ .../qat/qat_common/icp_qat_hw_51_comp_defs.h | 318 +++++++ .../intel/qat/qat_common/icp_qat_uclo.h | 23 + .../intel/qat/qat_common/qat_comp_algs.c | 5 +- .../intel/qat/qat_common/qat_compression.c | 1 - .../intel/qat/qat_common/qat_compression.h | 1 - drivers/crypto/intel/qat/qat_common/qat_hal.c | 3 + .../crypto/intel/qat/qat_common/qat_uclo.c | 437 ++++++--- .../qat/qat_dh895xcc/adf_dh895xcc_hw_data.c | 1 - .../qat_dh895xccvf/adf_dh895xccvf_hw_data.c | 1 - 47 files changed, 2293 insertions(+), 319 deletions(-) create mode 100644 drivers/crypto/intel/qat/qat_6xxx/Makefile create mode 100644 drivers/crypto/intel/qat/qat_6xxx/adf_6xxx_hw_data.c create mode 100644 drivers/crypto/intel/qat/qat_6xxx/adf_6xxx_hw_data.h create mode 100644 drivers/crypto/intel/qat/qat_6xxx/adf_drv.c rename drivers/crypto/intel/qat/qat_common/{adf_gen2_dc.c => adf_dc.c} (59%) create mode 100644 drivers/crypto/intel/qat/qat_common/adf_dc.h delete mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen2_dc.h delete mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen4_dc.c delete mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen4_dc.h create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen6_pm.h create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen6_shared.c create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen6_shared.h rename drivers/crypto/intel/qat/qat_common/{adf_gen4_timer.c => adf_timer.c} (78%) rename drivers/crypto/intel/qat/qat_common/{adf_gen4_timer.h => adf_timer.h} (58%) create mode 100644 drivers/crypto/intel/qat/qat_common/icp_qat_hw_51_comp.h create mode 100644 drivers/crypto/intel/qat/qat_common/icp_qat_hw_51_comp_defs.h base-commit: fef208fd85f67ab4a4552d2d141b3f811ab22f00 -- 2.40.1