DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [RFC 00/14] mlx5: support SubFunction
@ 2021-05-27 13:37 Xueming Li
  2021-05-27 13:37 ` [dpdk-dev] [RFC 01/14] common/mlx5: add common device driver Xueming Li
                   ` (10 more replies)
  0 siblings, 11 replies; 108+ messages in thread
From: Xueming Li @ 2021-05-27 13:37 UTC (permalink / raw)
  To: Viacheslav Ovsiienko; +Cc: dev, xuemingl

SubFunction [1] is a portion of the PCI device, a SF netdev has its own
dedicated queues(txq, rxq). A SF shares PCI level resources with other
SFs and/or with its parent PCI function. Auxiliary bus is the
fundamental of SF.

This patch set introduces SubFunction support for mlx5 PMD driver
including class net, regex, vdpa and compress.

Depends-on: series-16904 ("bus/auxiliary: introduce auxiliary bus")

Version history:
  RFC:
 	initial version

[1] SubFunction in kernel:
https://lore.kernel.org/netdev/20201112192424.2742-1-parav@nvidia.com/

[2] Auxiliary bus:
http://patchwork.dpdk.org/project/dpdk/patch/20210510134732.2174-1-xuemingl@nvidia.com/


Thomas Monjalon (5):
  common/mlx5: move description of PCI sysfs functions
  vdpa/mlx5: fix driver name
  vdpa/mlx5: remove PCI specifics
  common/mlx5: get PCI device address from any bus
  vdpa/mlx5: support SubFunction

Xueming Li (9):
  common/mlx5: add common device driver
  net/mlx5: remove PCI dependency
  net/mlx5: migrate to bus-agnostic common driver
  regex/mlx5: migrate to common driver
  compress/mlx5: migrate to common driver
  common/mlx5: clean up legacy PCI bus driver
  bus/auxiliary: introduce auxiliary bus
  common/mlx5: support auxiliary bus
  net/mlx5: support SubFunction

 MAINTAINERS                                   |   5 +
 doc/guides/nics/mlx5.rst                      | 339 ++++++++++-
 drivers/bus/auxiliary/auxiliary_common.c      | 408 +++++++++++++
 drivers/bus/auxiliary/auxiliary_params.c      |  58 ++
 drivers/bus/auxiliary/linux/auxiliary.c       | 147 +++++
 drivers/bus/auxiliary/meson.build             |  11 +
 drivers/bus/auxiliary/private.h               | 120 ++++
 drivers/bus/auxiliary/rte_bus_auxiliary.h     | 199 +++++++
 drivers/bus/auxiliary/version.map             |  10 +
 drivers/bus/meson.build                       |   1 +
 drivers/common/mlx5/linux/meson.build         |   3 +
 .../common/mlx5/linux/mlx5_common_auxiliary.c | 188 ++++++
 drivers/common/mlx5/linux/mlx5_common_os.c    |  53 +-
 drivers/common/mlx5/linux/mlx5_common_os.h    |   4 -
 drivers/common/mlx5/linux/mlx5_common_verbs.c |  24 +-
 drivers/common/mlx5/mlx5_common.c             | 340 ++++++++++-
 drivers/common/mlx5/mlx5_common.h             | 176 +++++-
 drivers/common/mlx5/mlx5_common_pci.c         | 554 ++++--------------
 drivers/common/mlx5/mlx5_common_pci.h         |  77 ---
 drivers/common/mlx5/mlx5_common_private.h     |  50 ++
 drivers/common/mlx5/version.map               |  14 +-
 drivers/compress/mlx5/mlx5_compress.c         |  71 +--
 drivers/net/mlx5/linux/mlx5_ethdev_os.c       |  14 +-
 drivers/net/mlx5/linux/mlx5_os.c              | 193 ++++--
 drivers/net/mlx5/linux/mlx5_os.h              |   5 +-
 drivers/net/mlx5/mlx5.c                       |  97 +--
 drivers/net/mlx5/mlx5.h                       |  12 +-
 drivers/net/mlx5/mlx5_ethdev.c                |   2 +-
 drivers/net/mlx5/mlx5_mr.c                    |  46 +-
 drivers/net/mlx5/mlx5_rxmode.c                |   8 +-
 drivers/net/mlx5/mlx5_rxtx.h                  |   9 +-
 drivers/net/mlx5/mlx5_trigger.c               |  14 +-
 drivers/net/mlx5/mlx5_txq.c                   |   2 +-
 drivers/net/mlx5/windows/mlx5_os.c            |  20 +-
 drivers/regex/mlx5/mlx5_regex.c               |  49 +-
 drivers/regex/mlx5/mlx5_regex.h               |   1 -
 drivers/vdpa/mlx5/mlx5_vdpa.c                 | 128 ++--
 drivers/vdpa/mlx5/mlx5_vdpa.h                 |   1 -
 38 files changed, 2532 insertions(+), 921 deletions(-)
 create mode 100644 drivers/bus/auxiliary/auxiliary_common.c
 create mode 100644 drivers/bus/auxiliary/auxiliary_params.c
 create mode 100644 drivers/bus/auxiliary/linux/auxiliary.c
 create mode 100644 drivers/bus/auxiliary/meson.build
 create mode 100644 drivers/bus/auxiliary/private.h
 create mode 100644 drivers/bus/auxiliary/rte_bus_auxiliary.h
 create mode 100644 drivers/bus/auxiliary/version.map
 create mode 100644 drivers/common/mlx5/linux/mlx5_common_auxiliary.c
 delete mode 100644 drivers/common/mlx5/mlx5_common_pci.h
 create mode 100644 drivers/common/mlx5/mlx5_common_private.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 108+ messages in thread