mbox series

[v1,00/14] net/mlx5: support Sub-Function

Message ID 20210616040935.311733-1-xuemingl@nvidia.com (mailing list archive)
Headers show
Series net/mlx5: support Sub-Function | expand

Message

Xueming(Steven) Li June 16, 2021, 4:09 a.m. UTC
Sub-Function [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 Sub-Function support for mlx5 PMD driver
including class net, regex, vdpa and compress.

Depends-on: series-16904 ("bus/auxiliary: introduce auxiliary bus")
Depends-on: series-17304 ("eal: save error in string copy")

Version history:
  RFC:
        initial version
  V1:
		rebased on latest upstream code

[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
  common/mlx5: get PCI device address from any bus
  vdpa/mlx5: define driver name as macro
  vdpa/mlx5: remove PCI specifics
  vdpa/mlx5: support SubFunction

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

 doc/guides/nics/mlx5.rst                      |  54 +-
 doc/guides/vdpadevs/mlx5.rst                  |  10 +
 drivers/common/mlx5/linux/meson.build         |   3 +
 .../common/mlx5/linux/mlx5_common_auxiliary.c | 191 +++++++
 drivers/common/mlx5/linux/mlx5_common_os.c    |  29 +-
 drivers/common/mlx5/linux/mlx5_common_os.h    |   6 +-
 drivers/common/mlx5/linux/mlx5_common_verbs.c |  24 +-
 drivers/common/mlx5/meson.build               |   2 +-
 drivers/common/mlx5/mlx5_common.c             | 391 ++++++++++++-
 drivers/common/mlx5/mlx5_common.h             | 178 +++++-
 drivers/common/mlx5/mlx5_common_pci.c         | 526 ++++--------------
 drivers/common/mlx5/mlx5_common_pci.h         |  77 ---
 drivers/common/mlx5/mlx5_common_private.h     |  50 ++
 drivers/common/mlx5/mlx5_common_utils.h       |   2 +
 drivers/common/mlx5/version.map               |  12 +-
 drivers/compress/mlx5/mlx5_compress.c         |  71 +--
 drivers/net/mlx5/linux/mlx5_ethdev_os.c       |  14 +-
 drivers/net/mlx5/linux/mlx5_os.c              | 200 +++++--
 drivers/net/mlx5/linux/mlx5_os.h              |   5 +-
 drivers/net/mlx5/mlx5.c                       |  87 +--
 drivers/net/mlx5/mlx5.h                       |  13 +-
 drivers/net/mlx5/mlx5_ethdev.c                |   2 +-
 drivers/net/mlx5/mlx5_mac.c                   |   2 +-
 drivers/net/mlx5/mlx5_mr.c                    |  48 +-
 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                   |   3 +-
 drivers/net/mlx5/windows/mlx5_os.c            |  14 +-
 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 -
 33 files changed, 1337 insertions(+), 887 deletions(-)
 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