v2: - Add data-path part. v3: - Rebase.
v4: - Rebase + Address the following Akhil comments: - Set HW feature flag in the capability patch. - Fix mp object release in session clear. - Some spelling and word missing in doc. - Squash data-unit adjustment to the session operations commit. - Wording: device argument -> devarg. v5: - Add mlx5 crypto tests into test library. - Update documentation according to Akhil comments. - Fix memory region management. - Fix multi segment case in data-path code. - Split documentation to the correct commits according to Akhil comments. - Rebase to new version. - Change license to Nvidia license. v6: - Rebase to new version. - Address David's comment and update log accordingly. - Update testing app commits as suggested by Akhil. v7: - Rebase to new version. - Add scatter gather and OOP test cases. v8: - Add a test case that was removed by error. v9: - Reorganize the basic operation commit. - Move the seesion operation commit after QP patch. - Fix coding style. - Move the rel_notes to the last PMD change. - Move the mlx5 test code to last. - Rename the driver name to crypto_mlx5. - Split the MBUF_DATAPAYLOAD_SIZE update out of the series. Shiri Kuzin (10): drivers: introduce mlx5 crypto PMD crypto/mlx5: add DEK object management crypto/mlx5: add basic operations crypto/mlx5: add queue pairs operations crypto/mlx5: add session operations crypto/mlx5: add memory region management crypto/mlx5: create login object using DevX test/crypto: add data-unit and wrapped vectors test/crypto: add AES-XTS multi segment OOP tests test/crypto: add mlx5 crypto driver Suanming Mou (5): crypto/mlx5: add keytag devarg crypto/mlx5: add maximum segments devarg crypto/mlx5: add WQE set initialization crypto/mlx5: add enqueue and dequeue operations crypto/mlx5: add statistic get and reset operations MAINTAINERS | 4 + app/test/test_cryptodev.c | 7 + app/test/test_cryptodev.h | 2 + app/test/test_cryptodev_aes_test_vectors.h | 1404 ++++++++++++++++++++ app/test/test_cryptodev_blockcipher.c | 10 +- app/test/test_cryptodev_blockcipher.h | 2 + doc/guides/cryptodevs/features/mlx5.ini | 37 + doc/guides/cryptodevs/index.rst | 1 + doc/guides/cryptodevs/mlx5.rst | 153 +++ doc/guides/rel_notes/release_21_08.rst | 5 + drivers/common/mlx5/mlx5_common.h | 1 + drivers/common/mlx5/mlx5_common_pci.c | 14 + drivers/common/mlx5/mlx5_common_pci.h | 21 +- drivers/crypto/meson.build | 1 + drivers/crypto/mlx5/meson.build | 27 + drivers/crypto/mlx5/mlx5_crypto.c | 1175 ++++++++++++++++ drivers/crypto/mlx5/mlx5_crypto.h | 90 ++ drivers/crypto/mlx5/mlx5_crypto_dek.c | 160 +++ drivers/crypto/mlx5/mlx5_crypto_utils.h | 19 + drivers/crypto/mlx5/version.map | 3 + 20 files changed, 3125 insertions(+), 11 deletions(-) create mode 100644 doc/guides/cryptodevs/features/mlx5.ini create mode 100644 doc/guides/cryptodevs/mlx5.rst create mode 100644 drivers/crypto/mlx5/meson.build create mode 100644 drivers/crypto/mlx5/mlx5_crypto.c create mode 100644 drivers/crypto/mlx5/mlx5_crypto.h create mode 100644 drivers/crypto/mlx5/mlx5_crypto_dek.c create mode 100644 drivers/crypto/mlx5/mlx5_crypto_utils.h create mode 100644 drivers/crypto/mlx5/version.map -- 2.25.1