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.

v3:
Address Slava and Akhil comments:
        - Maintain alphabetical order in compress driver lists.
        - Improve docs \ commit logs with more information.
        - Fix checkptch warning.
        - Support 32-bit systems.
        - Validate primary procces only working.
        - fix memory leak in error flow of QP creation. 
        - Improve coding style.
        - Improve operation error report in data-path.
rebased code.

v2:
Add documentation.


Matan Azrad (11):
  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: support 32-bit systems
  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            |  94 +++
 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       | 905 ++++++++++++++++++++++++++++
 drivers/compress/mlx5/mlx5_compress_utils.h |  20 +
 drivers/compress/mlx5/version.map           |   3 +
 16 files changed, 1171 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

Reply via email to