Add a new PMD for Nvidia devices- crypto PMD. The crypto PMD will be supported on Nvidia ConnectX6 The crypto PMD will add the support of encryption and decryption using the AES-XTS symmetric algorithm. The crypto PMD requires rdma-core and uses mlx5 DevX.
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. Shiri Kuzin (9): drivers: introduce mlx5 crypto PMD crypto/mlx5: add DEK object management crypto/mlx5: add session operations crypto/mlx5: add basic operations crypto/mlx5: add queue pairs operations crypto/mlx5: add dev stop and start operations crypto/mlx5: add memory region management crypto/mlx5: create login object using DevX crypto/mlx5: set feature flags and capabilities 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 + doc/guides/cryptodevs/features/mlx5.ini | 37 + doc/guides/cryptodevs/index.rst | 1 + doc/guides/cryptodevs/mlx5.rst | 152 ++++ doc/guides/rel_notes/release_21_05.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 | 1093 +++++++++++++++++++++++ drivers/crypto/mlx5/mlx5_crypto.h | 92 ++ drivers/crypto/mlx5/mlx5_crypto_dek.c | 136 +++ drivers/crypto/mlx5/mlx5_crypto_utils.h | 19 + drivers/crypto/mlx5/version.map | 3 + 15 files changed, 1596 insertions(+), 10 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