Add a new compress PMD for Mellanox devices. The MLX5 compress driver library provides support for Mellanox BlueField 2 families of 25/50/100/200 Gb/s adapters.
Using the BlueField 2 device, the compress class operations can be run in parallel to the net, vdpa, and regex class operations. This driver is depending on rdma-core like the other mlx5 PMDs, also it is going to use mlx5 DevX to create HW objects directly by the FW. v2: Add documentation. Matan Azrad (10): common/mlx5: add DevX attributes for compress drivers: introduce mlx5 compress PMD compress/mlx5: support basic control operations common/mlx5: add compress primitives compress/mlx5: support queue pair operations compress/mlx5: add transformation operations compress/mlx5: add memory region management compress/mlx5: add data-path functions compress/mlx5: add statistics operations compress/mlx5: add the supported capabilities MAINTAINERS | 4 + doc/guides/compressdevs/features/mlx5.ini | 13 + doc/guides/compressdevs/index.rst | 1 + doc/guides/compressdevs/mlx5.rst | 84 +++ doc/guides/rel_notes/release_21_02.rst | 6 + drivers/common/mlx5/mlx5_common.h | 1 + drivers/common/mlx5/mlx5_common_pci.c | 7 + drivers/common/mlx5/mlx5_common_pci.h | 36 +- drivers/common/mlx5/mlx5_devx_cmds.c | 10 + drivers/common/mlx5/mlx5_devx_cmds.h | 7 + drivers/common/mlx5/mlx5_prm.h | 59 +- drivers/compress/meson.build | 2 +- drivers/compress/mlx5/meson.build | 26 + drivers/compress/mlx5/mlx5_compress.c | 863 ++++++++++++++++++++++++++++ drivers/compress/mlx5/mlx5_compress_utils.h | 20 + drivers/compress/mlx5/version.map | 3 + 16 files changed, 1119 insertions(+), 23 deletions(-) create mode 100644 doc/guides/compressdevs/features/mlx5.ini create mode 100644 doc/guides/compressdevs/mlx5.rst create mode 100644 drivers/compress/mlx5/meson.build create mode 100644 drivers/compress/mlx5/mlx5_compress.c create mode 100644 drivers/compress/mlx5/mlx5_compress_utils.h create mode 100644 drivers/compress/mlx5/version.map -- 1.8.3.1