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(-) -- 2.34.1