[dpdk-dev] [RFC 00/14] mlx5: support SubFunction
Xueming Li
xuemingl at nvidia.com
Thu May 27 15:37:45 CEST 2021
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
More information about the dev
mailing list