mbox series

[00/24] crypto: qat - PFVF updates and improved GEN4 support

Message ID 20211216091334.402420-1-marco.chiappero@intel.com
Headers show
Series crypto: qat - PFVF updates and improved GEN4 support | expand

Message

Marco Chiappero Dec. 16, 2021, 9:13 a.m. UTC
This set mainly revolves around PFVF and support for compression on GEN4
devices.

Along with misc quality improvements to the PFVF code, it includes the
following major changes:
* Improved detection of HW capabilities for both GEN2 and GEN4 devices
* PFVF protocol updates, up to version 4, which include Block Messages
  and Fast ACK
* PFVF support for the GEN4 host driver
* Support for enabling and reporting the compression service on GEN4
  devices
* Support for Ring Pair reset by VFs on GEN4 devices
* The refactoring of PFVF code to allow for the introduction of GEN4
  support

Giovanni Cabiddu (5):
  crypto: qat - get compression extended capabilities
  crypto: qat - set CIPHER capability for QAT GEN2
  crypto: qat - set COMPRESSION capability for QAT GEN2
  crypto: qat - extend crypto capability detection for 4xxx
  crypto: qat - allow detection of dc capabilities for 4xxx

Marco Chiappero (18):
  crypto: qat - support the reset of ring pairs on PF
  crypto: qat - add the adf_get_pmisc_base() helper function
  crypto: qat - make PFVF message construction direction agnostic
  crypto: qat - make PFVF send and receive direction agnostic
  crypto: qat - set PFVF_MSGORIGIN just before sending
  crypto: qat - abstract PFVF messages with struct pfvf_message
  crypto: qat - leverage bitfield.h utils for PFVF messages
  crypto: qat - leverage read_poll_timeout in PFVF send
  crypto: qat - improve the ACK timings in PFVF send
  crypto: qat - store the PFVF protocol version of the endpoints
  crypto: qat - store the ring-to-service mapping
  crypto: qat - introduce support for PFVF block messages
  crypto: qat - exchange device capabilities over PFVF
  crypto: qat - support fast ACKs in the PFVF protocol
  crypto: qat - exchange ring-to-service mappings over PFVF
  crypto: qat - config VFs based on ring-to-svc mapping
  crypto: qat - add PFVF support to the GEN4 host driver
  crypto: qat - add PFVF support to enable the reset of ring pairs

Tomasz Kowalik (1):
  crypto: qat - add support for compression for 4xxx

 drivers/crypto/qat/Kconfig                    |   1 +
 .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.c    | 145 ++++++--
 .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.h    |   2 +
 drivers/crypto/qat/qat_4xxx/adf_drv.c         |  33 ++
 .../crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c  |   1 +
 .../qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c     |   1 +
 drivers/crypto/qat/qat_c3xxxvf/adf_drv.c      |   4 -
 .../crypto/qat/qat_c62x/adf_c62x_hw_data.c    |   1 +
 .../qat/qat_c62xvf/adf_c62xvf_hw_data.c       |   1 +
 drivers/crypto/qat/qat_c62xvf/adf_drv.c       |   4 -
 drivers/crypto/qat/qat_common/Makefile        |   4 +-
 .../crypto/qat/qat_common/adf_accel_devices.h |  28 +-
 .../crypto/qat/qat_common/adf_accel_engine.c  |   8 +-
 drivers/crypto/qat/qat_common/adf_admin.c     |  47 ++-
 drivers/crypto/qat/qat_common/adf_cfg.c       |   1 +
 .../crypto/qat/qat_common/adf_cfg_common.h    |  13 +
 .../crypto/qat/qat_common/adf_cfg_strings.h   |   3 +
 .../crypto/qat/qat_common/adf_common_drv.h    |  12 +
 .../crypto/qat/qat_common/adf_gen2_hw_data.c  |  57 ++--
 .../crypto/qat/qat_common/adf_gen2_hw_data.h  |   9 +
 drivers/crypto/qat/qat_common/adf_gen2_pfvf.c | 316 +++++++++++++-----
 .../crypto/qat/qat_common/adf_gen4_hw_data.c  |  62 +++-
 .../crypto/qat/qat_common/adf_gen4_hw_data.h  |  17 +
 drivers/crypto/qat/qat_common/adf_gen4_pfvf.c | 148 ++++++++
 drivers/crypto/qat/qat_common/adf_gen4_pfvf.h |  17 +
 drivers/crypto/qat/qat_common/adf_init.c      |   9 +-
 drivers/crypto/qat/qat_common/adf_isr.c       |  28 +-
 drivers/crypto/qat/qat_common/adf_pfvf_msg.h  | 202 +++++++++--
 .../crypto/qat/qat_common/adf_pfvf_pf_msg.c   |  35 +-
 .../crypto/qat/qat_common/adf_pfvf_pf_msg.h   |   8 +
 .../crypto/qat/qat_common/adf_pfvf_pf_proto.c | 262 +++++++++++++--
 .../crypto/qat/qat_common/adf_pfvf_pf_proto.h |   2 +-
 .../crypto/qat/qat_common/adf_pfvf_utils.c    |  65 ++++
 .../crypto/qat/qat_common/adf_pfvf_utils.h    |  31 ++
 .../crypto/qat/qat_common/adf_pfvf_vf_msg.c   |  98 +++++-
 .../crypto/qat/qat_common/adf_pfvf_vf_msg.h   |   2 +
 .../crypto/qat/qat_common/adf_pfvf_vf_proto.c | 284 ++++++++++++++--
 .../crypto/qat/qat_common/adf_pfvf_vf_proto.h |   7 +-
 drivers/crypto/qat/qat_common/adf_sriov.c     |  39 ++-
 drivers/crypto/qat/qat_common/adf_vf_isr.c    |  14 +-
 .../qat/qat_common/icp_qat_fw_init_admin.h    |   4 +-
 drivers/crypto/qat/qat_common/icp_qat_hw.h    |  13 +-
 drivers/crypto/qat/qat_common/qat_crypto.c    |  25 ++
 drivers/crypto/qat/qat_common/qat_hal.c       |  41 +--
 .../qat/qat_dh895xcc/adf_dh895xcc_hw_data.c   |   3 +
 .../qat_dh895xccvf/adf_dh895xccvf_hw_data.c   |   1 +
 drivers/crypto/qat/qat_dh895xccvf/adf_drv.c   |   4 -
 47 files changed, 1776 insertions(+), 336 deletions(-)
 create mode 100644 drivers/crypto/qat/qat_common/adf_gen4_pfvf.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_gen4_pfvf.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_utils.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_utils.h

Comments

Herbert Xu Dec. 24, 2021, 3:25 a.m. UTC | #1
On Thu, Dec 16, 2021 at 09:13:10AM +0000, Marco Chiappero wrote:
> This set mainly revolves around PFVF and support for compression on GEN4
> devices.
> 
> Along with misc quality improvements to the PFVF code, it includes the
> following major changes:
> * Improved detection of HW capabilities for both GEN2 and GEN4 devices
> * PFVF protocol updates, up to version 4, which include Block Messages
>   and Fast ACK
> * PFVF support for the GEN4 host driver
> * Support for enabling and reporting the compression service on GEN4
>   devices
> * Support for Ring Pair reset by VFs on GEN4 devices
> * The refactoring of PFVF code to allow for the introduction of GEN4
>   support
> 
> Giovanni Cabiddu (5):
>   crypto: qat - get compression extended capabilities
>   crypto: qat - set CIPHER capability for QAT GEN2
>   crypto: qat - set COMPRESSION capability for QAT GEN2
>   crypto: qat - extend crypto capability detection for 4xxx
>   crypto: qat - allow detection of dc capabilities for 4xxx
> 
> Marco Chiappero (18):
>   crypto: qat - support the reset of ring pairs on PF
>   crypto: qat - add the adf_get_pmisc_base() helper function
>   crypto: qat - make PFVF message construction direction agnostic
>   crypto: qat - make PFVF send and receive direction agnostic
>   crypto: qat - set PFVF_MSGORIGIN just before sending
>   crypto: qat - abstract PFVF messages with struct pfvf_message
>   crypto: qat - leverage bitfield.h utils for PFVF messages
>   crypto: qat - leverage read_poll_timeout in PFVF send
>   crypto: qat - improve the ACK timings in PFVF send
>   crypto: qat - store the PFVF protocol version of the endpoints
>   crypto: qat - store the ring-to-service mapping
>   crypto: qat - introduce support for PFVF block messages
>   crypto: qat - exchange device capabilities over PFVF
>   crypto: qat - support fast ACKs in the PFVF protocol
>   crypto: qat - exchange ring-to-service mappings over PFVF
>   crypto: qat - config VFs based on ring-to-svc mapping
>   crypto: qat - add PFVF support to the GEN4 host driver
>   crypto: qat - add PFVF support to enable the reset of ring pairs
> 
> Tomasz Kowalik (1):
>   crypto: qat - add support for compression for 4xxx
> 
>  drivers/crypto/qat/Kconfig                    |   1 +
>  .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.c    | 145 ++++++--
>  .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.h    |   2 +
>  drivers/crypto/qat/qat_4xxx/adf_drv.c         |  33 ++
>  .../crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c  |   1 +
>  .../qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c     |   1 +
>  drivers/crypto/qat/qat_c3xxxvf/adf_drv.c      |   4 -
>  .../crypto/qat/qat_c62x/adf_c62x_hw_data.c    |   1 +
>  .../qat/qat_c62xvf/adf_c62xvf_hw_data.c       |   1 +
>  drivers/crypto/qat/qat_c62xvf/adf_drv.c       |   4 -
>  drivers/crypto/qat/qat_common/Makefile        |   4 +-
>  .../crypto/qat/qat_common/adf_accel_devices.h |  28 +-
>  .../crypto/qat/qat_common/adf_accel_engine.c  |   8 +-
>  drivers/crypto/qat/qat_common/adf_admin.c     |  47 ++-
>  drivers/crypto/qat/qat_common/adf_cfg.c       |   1 +
>  .../crypto/qat/qat_common/adf_cfg_common.h    |  13 +
>  .../crypto/qat/qat_common/adf_cfg_strings.h   |   3 +
>  .../crypto/qat/qat_common/adf_common_drv.h    |  12 +
>  .../crypto/qat/qat_common/adf_gen2_hw_data.c  |  57 ++--
>  .../crypto/qat/qat_common/adf_gen2_hw_data.h  |   9 +
>  drivers/crypto/qat/qat_common/adf_gen2_pfvf.c | 316 +++++++++++++-----
>  .../crypto/qat/qat_common/adf_gen4_hw_data.c  |  62 +++-
>  .../crypto/qat/qat_common/adf_gen4_hw_data.h  |  17 +
>  drivers/crypto/qat/qat_common/adf_gen4_pfvf.c | 148 ++++++++
>  drivers/crypto/qat/qat_common/adf_gen4_pfvf.h |  17 +
>  drivers/crypto/qat/qat_common/adf_init.c      |   9 +-
>  drivers/crypto/qat/qat_common/adf_isr.c       |  28 +-
>  drivers/crypto/qat/qat_common/adf_pfvf_msg.h  | 202 +++++++++--
>  .../crypto/qat/qat_common/adf_pfvf_pf_msg.c   |  35 +-
>  .../crypto/qat/qat_common/adf_pfvf_pf_msg.h   |   8 +
>  .../crypto/qat/qat_common/adf_pfvf_pf_proto.c | 262 +++++++++++++--
>  .../crypto/qat/qat_common/adf_pfvf_pf_proto.h |   2 +-
>  .../crypto/qat/qat_common/adf_pfvf_utils.c    |  65 ++++
>  .../crypto/qat/qat_common/adf_pfvf_utils.h    |  31 ++
>  .../crypto/qat/qat_common/adf_pfvf_vf_msg.c   |  98 +++++-
>  .../crypto/qat/qat_common/adf_pfvf_vf_msg.h   |   2 +
>  .../crypto/qat/qat_common/adf_pfvf_vf_proto.c | 284 ++++++++++++++--
>  .../crypto/qat/qat_common/adf_pfvf_vf_proto.h |   7 +-
>  drivers/crypto/qat/qat_common/adf_sriov.c     |  39 ++-
>  drivers/crypto/qat/qat_common/adf_vf_isr.c    |  14 +-
>  .../qat/qat_common/icp_qat_fw_init_admin.h    |   4 +-
>  drivers/crypto/qat/qat_common/icp_qat_hw.h    |  13 +-
>  drivers/crypto/qat/qat_common/qat_crypto.c    |  25 ++
>  drivers/crypto/qat/qat_common/qat_hal.c       |  41 +--
>  .../qat/qat_dh895xcc/adf_dh895xcc_hw_data.c   |   3 +
>  .../qat_dh895xccvf/adf_dh895xccvf_hw_data.c   |   1 +
>  drivers/crypto/qat/qat_dh895xccvf/adf_drv.c   |   4 -
>  47 files changed, 1776 insertions(+), 336 deletions(-)
>  create mode 100644 drivers/crypto/qat/qat_common/adf_gen4_pfvf.c
>  create mode 100644 drivers/crypto/qat/qat_common/adf_gen4_pfvf.h
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_utils.c
>  create mode 100644 drivers/crypto/qat/qat_common/adf_pfvf_utils.h
> 
> -- 
> 2.31.1

All applied.  Thanks.