[v3,00/25] Introduce mlx5 common library
mbox series

Message ID 1580228860-10665-1-git-send-email-matan@mellanox.com
Headers show
Series
  • Introduce mlx5 common library
Related show

Message

Matan Azrad Jan. 28, 2020, 4:27 p.m. UTC
Steps:
- Prepare net/mlx5 for code sharing.
- Introduce new common lib for mlx5 devices.
- Share code from net/mlx5 to common/mlx5.

v2:
- Reorder patches for 2 serieses - this is the first one for common directory and vDPA preparation,
  the second will be sent later for vDPA new driver part.
- Fix spelling and per patch complition issues.
- moved to use claim_zero instead of pure asserts.
- improve title names.

v3:
rebase.

Matan Azrad (25):
  net/mlx5: separate DevX commands interface
  drivers: introduce mlx5 common library
  common/mlx5: share the mlx5 glue reference
  common/mlx5: share mlx5 PCI device detection
  common/mlx5: share mlx5 devices information
  common/mlx5: share CQ entry check
  common/mlx5: add query vDPA DevX capabilities
  common/mlx5: glue null memory region allocation
  common/mlx5: support DevX indirect mkey creation
  common/mlx5: glue event queue query
  common/mlx5: glue event interrupt commands
  common/mlx5: glue UAR allocation
  common/mlx5: add DevX command to create CQ
  common/mlx5: glue VAR allocation
  common/mlx5: add DevX virtq commands
  common/mlx5: add support for DevX QP operations
  common/mlx5: allow type configuration for DevX RQT
  common/mlx5: add TIR field constants
  common/mlx5: add DevX command to modify RQT
  common/mlx5: get DevX capability for max RQT size
  net/mlx5: select driver by vDPA device argument
  net/mlx5: separate Netlink command interface
  net/mlx5: reduce Netlink commands dependencies
  common/mlx5: share Netlink commands
  common/mlx5: support ROCE disable through Netlink

 MAINTAINERS                                     |    1 +
 drivers/common/Makefile                         |    4 +
 drivers/common/meson.build                      |    2 +-
 drivers/common/mlx5/Makefile                    |  347 ++++
 drivers/common/mlx5/meson.build                 |  210 ++
 drivers/common/mlx5/mlx5_common.c               |  332 +++
 drivers/common/mlx5/mlx5_common.h               |  214 ++
 drivers/common/mlx5/mlx5_common_utils.h         |   20 +
 drivers/common/mlx5/mlx5_devx_cmds.c            | 1530 ++++++++++++++
 drivers/common/mlx5/mlx5_devx_cmds.h            |  351 ++++
 drivers/common/mlx5/mlx5_glue.c                 | 1296 ++++++++++++
 drivers/common/mlx5/mlx5_glue.h                 |  305 +++
 drivers/common/mlx5/mlx5_nl.c                   | 1699 +++++++++++++++
 drivers/common/mlx5/mlx5_nl.h                   |   63 +
 drivers/common/mlx5/mlx5_prm.h                  | 2542 +++++++++++++++++++++++
 drivers/common/mlx5/rte_common_mlx5_version.map |   50 +
 drivers/net/mlx5/Makefile                       |  307 +--
 drivers/net/mlx5/meson.build                    |  257 +--
 drivers/net/mlx5/mlx5.c                         |  194 +-
 drivers/net/mlx5/mlx5.h                         |  326 +--
 drivers/net/mlx5/mlx5_defs.h                    |    8 -
 drivers/net/mlx5/mlx5_devx_cmds.c               |  969 ---------
 drivers/net/mlx5/mlx5_ethdev.c                  |  161 +-
 drivers/net/mlx5/mlx5_flow.c                    |   12 +-
 drivers/net/mlx5/mlx5_flow.h                    |    3 +-
 drivers/net/mlx5/mlx5_flow_dv.c                 |   12 +-
 drivers/net/mlx5/mlx5_flow_meter.c              |    2 +
 drivers/net/mlx5/mlx5_flow_verbs.c              |    7 +-
 drivers/net/mlx5/mlx5_glue.c                    | 1150 ----------
 drivers/net/mlx5/mlx5_glue.h                    |  264 ---
 drivers/net/mlx5/mlx5_mac.c                     |   16 +-
 drivers/net/mlx5/mlx5_mr.c                      |    3 +-
 drivers/net/mlx5/mlx5_nl.c                      | 1402 -------------
 drivers/net/mlx5/mlx5_prm.h                     | 1888 -----------------
 drivers/net/mlx5/mlx5_rss.c                     |    2 +-
 drivers/net/mlx5/mlx5_rxmode.c                  |   12 +-
 drivers/net/mlx5/mlx5_rxq.c                     |    7 +-
 drivers/net/mlx5/mlx5_rxtx.c                    |    7 +-
 drivers/net/mlx5/mlx5_rxtx.h                    |   46 +-
 drivers/net/mlx5/mlx5_rxtx_vec.c                |    5 +-
 drivers/net/mlx5/mlx5_rxtx_vec.h                |    3 +-
 drivers/net/mlx5/mlx5_rxtx_vec_altivec.h        |    5 +-
 drivers/net/mlx5/mlx5_rxtx_vec_neon.h           |    5 +-
 drivers/net/mlx5/mlx5_rxtx_vec_sse.h            |    5 +-
 drivers/net/mlx5/mlx5_stats.c                   |    5 +-
 drivers/net/mlx5/mlx5_txq.c                     |    7 +-
 drivers/net/mlx5/mlx5_utils.h                   |   79 +-
 drivers/net/mlx5/mlx5_vlan.c                    |  137 +-
 mk/rte.app.mk                                   |    1 +
 49 files changed, 9273 insertions(+), 7000 deletions(-)
 create mode 100644 drivers/common/mlx5/Makefile
 create mode 100644 drivers/common/mlx5/meson.build
 create mode 100644 drivers/common/mlx5/mlx5_common.c
 create mode 100644 drivers/common/mlx5/mlx5_common.h
 create mode 100644 drivers/common/mlx5/mlx5_common_utils.h
 create mode 100644 drivers/common/mlx5/mlx5_devx_cmds.c
 create mode 100644 drivers/common/mlx5/mlx5_devx_cmds.h
 create mode 100644 drivers/common/mlx5/mlx5_glue.c
 create mode 100644 drivers/common/mlx5/mlx5_glue.h
 create mode 100644 drivers/common/mlx5/mlx5_nl.c
 create mode 100644 drivers/common/mlx5/mlx5_nl.h
 create mode 100644 drivers/common/mlx5/mlx5_prm.h
 create mode 100644 drivers/common/mlx5/rte_common_mlx5_version.map
 delete mode 100644 drivers/net/mlx5/mlx5_devx_cmds.c
 delete mode 100644 drivers/net/mlx5/mlx5_glue.c
 delete mode 100644 drivers/net/mlx5/mlx5_glue.h
 delete mode 100644 drivers/net/mlx5/mlx5_nl.c
 delete mode 100644 drivers/net/mlx5/mlx5_prm.h