mbox series

[net-next,00/10] nfp: support for NFP-3800

Message ID 20220318101302.113419-1-simon.horman@corigine.com (mailing list archive)
Headers show
Series nfp: support for NFP-3800 | expand

Message

Simon Horman March 18, 2022, 10:12 a.m. UTC
Hi,

Yinjun Zhan says:

This is the second of a two part series to support the NFP-3800 device.

To utilize the new hardware features of the NFP-3800, driver adds support
of a new data path NFDK. This series mainly does some refactor work to the
data path related implementations. The data path specific implementations
are now separated into nfd3 and nfdk directories respectively, and the
common part is also moved into a new file.

* The series starts with a small refinement in Patch 1/10. Patches 2/10 and
  3/10 are the main refactoring of data path implementation, which prepares
  for the adding the NFDK data path.
* Before the introduction of NFDK, there's some more preparation work
  for NFP-3800 features, such as multi-descriptor per-packet and write-back
  mechanism of TX pointer, which is done in patches 4/10, 5/10, 6/10, 7/10.
* Patch 8/10 allows the driver to select data path according
  to firmware version. Finally, patches 9/10 and 10/10 introduce the new
  NFDK data path.

Thanks to everyone who contributed to this work.

Jakub Kicinski (9):
  nfp: calculate ring masks without conditionals
  nfp: move the fast path code to separate files
  nfp: use callbacks for slow path ring related functions
  nfp: prepare for multi-part descriptors
  nfp: move tx_ring->qcidx into cold data
  nfp: use TX ring pointer write back
  nfp: add per-data path feature mask
  nfp: choose data path based on version
  nfp: add support for NFDK data path

Yinjun Zhang (1):
  nfp: nfdk: implement xdp tx path for NFDK

 drivers/net/ethernet/netronome/nfp/Makefile   |    6 +
 drivers/net/ethernet/netronome/nfp/nfd3/dp.c  | 1350 ++++++++++
 .../net/ethernet/netronome/nfp/nfd3/nfd3.h    |  106 +
 .../net/ethernet/netronome/nfp/nfd3/rings.c   |  275 +++
 drivers/net/ethernet/netronome/nfp/nfd3/xsk.c |  408 +++
 drivers/net/ethernet/netronome/nfp/nfdk/dp.c  | 1524 ++++++++++++
 .../net/ethernet/netronome/nfp/nfdk/nfdk.h    |  128 +
 .../net/ethernet/netronome/nfp/nfdk/rings.c   |  195 ++
 drivers/net/ethernet/netronome/nfp/nfp_net.h  |  159 +-
 .../ethernet/netronome/nfp/nfp_net_common.c   | 2180 +----------------
 .../net/ethernet/netronome/nfp/nfp_net_ctrl.h |    5 +-
 .../ethernet/netronome/nfp/nfp_net_debugfs.c  |   51 +-
 .../net/ethernet/netronome/nfp/nfp_net_dp.c   |  442 ++++
 .../net/ethernet/netronome/nfp/nfp_net_dp.h   |  215 ++
 .../ethernet/netronome/nfp/nfp_net_ethtool.c  |   10 +-
 .../net/ethernet/netronome/nfp/nfp_net_main.c |    9 +-
 .../net/ethernet/netronome/nfp/nfp_net_xsk.c  |  440 +---
 .../net/ethernet/netronome/nfp/nfp_net_xsk.h  |   16 +-
 .../ethernet/netronome/nfp/nfp_netvf_main.c   |    9 +-
 19 files changed, 4889 insertions(+), 2639 deletions(-)
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfd3/dp.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfd3/nfd3.h
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfd3/rings.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfdk/dp.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfdk/nfdk.h
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfdk/rings.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_net_dp.h