mbox series

[v3,00/15] net/mlx5: support Sub-Function

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

Message

Xueming(Steven) Li July 19, 2021, 2:53 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.

Version history:
  RFC:
        initial version
  V1:
	rebased on latest upstream code
  V2:
	init sh->numa_node earlier
	other bug fixes
  V3:
  	split first patch and fix compilation issue
  		

[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 (10):
  common/mlx5: rename eth device class name
  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/rel_notes/release_21_08.rst        |   5 +
 doc/guides/vdpadevs/mlx5.rst                  |  10 +
 drivers/common/mlx5/linux/meson.build         |   3 +
 .../common/mlx5/linux/mlx5_common_auxiliary.c | 192 +++++++
 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             | 389 ++++++++++++-
 drivers/common/mlx5/mlx5_common.h             | 179 +++++-
 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              | 203 +++++--
 drivers/net/mlx5/linux/mlx5_os.h              |   5 +-
 drivers/net/mlx5/mlx5.c                       | 116 ++--
 drivers/net/mlx5/mlx5.h                       |  14 +-
 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            |  15 +-
 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 -
 34 files changed, 1363 insertions(+), 900 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