mbox series

[00/11] crypto: qat - add support for QAT GEN6 devices

Message ID 20250430113453.1587497-1-suman.kumar.chakraborty@intel.com
Headers show
Series crypto: qat - add support for QAT GEN6 devices | expand

Message

Suman Kumar Chakraborty April 30, 2025, 11:34 a.m. UTC
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

Comments

Herbert Xu May 5, 2025, 12:25 p.m. UTC | #1
On Wed, Apr 30, 2025 at 12:34:42PM +0100, Suman Kumar Chakraborty wrote:
> 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

All applied.  Thanks.