mbox

[v4,0/2] crypto/qat: add cipher-crc offload feature

Message ID 20230418133942.2088671-1-kevin.osullivan@intel.com (mailing list archive)
Headers

Message

Kevin O'Sullivan April 18, 2023, 1:39 p.m. UTC
  This patchset adds support to the QAT PMD for combined cipher-crc
processing for DOCSIS on the QAT device. The current QAT PMD
implementation of cipher-crc calculates CRC in software and uses QAT
for encryption/decryption offload.

Note: The previous code-path is still retained for QAT firmware
versions without support for combined cipher-crc offload.

- Support has been added to DPDK QAT PMD to enable the use of the
cipher-crc offload feature on gen2/gen3/gen4 QAT devices.

- A cipher-crc offload capability check has been added to the queue
pair setup function to determine if the feature is supported on the
QAT device.

v1:
* initial version

v2:
* fixed centos compilation error for missing braces around
  initializer

v3:
* updated the file qat.rst with details of new configuration

v4:
* updated v23.07 release note
* moved cipher crc capability check test vectors to top of
  qat_qp.c and made the vectors static const
* changed log string to be all on one line in qat_device.c
* changed word parameter to devargs in qat.rst

Kevin O'Sullivan (2):
  crypto/qat: add cipher-crc offload support to fw interface
  crypto/qat: support cipher-crc offload

 doc/guides/cryptodevs/qat.rst                |  23 +++
 doc/guides/rel_notes/release_23_07.rst       |   4 +
 drivers/common/qat/qat_adf/icp_qat_fw.h      |   1 -
 drivers/common/qat/qat_adf/icp_qat_fw_la.h   |   3 +-
 drivers/common/qat/qat_adf/icp_qat_hw.h      | 133 +++++++++++++
 drivers/common/qat/qat_device.c              |   9 +-
 drivers/common/qat/qat_device.h              |   3 +-
 drivers/common/qat/qat_qp.c                  | 177 +++++++++++++++++
 drivers/common/qat/qat_qp.h                  |   5 +
 drivers/crypto/qat/dev/qat_crypto_pmd_gen2.c |   2 +-
 drivers/crypto/qat/dev/qat_crypto_pmd_gens.h |  24 ++-
 drivers/crypto/qat/dev/qat_sym_pmd_gen1.c    |   4 +
 drivers/crypto/qat/qat_crypto.c              |  22 ++-
 drivers/crypto/qat/qat_crypto.h              |   1 +
 drivers/crypto/qat/qat_sym.c                 |   4 +
 drivers/crypto/qat/qat_sym.h                 |   7 +-
 drivers/crypto/qat/qat_sym_session.c         | 194 +++++++++++++++++++
 drivers/crypto/qat/qat_sym_session.h         |  21 +-
 18 files changed, 620 insertions(+), 17 deletions(-)