[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220225025902.40167-1-dmichail@fungible.com>
Date: Thu, 24 Feb 2022 18:58:54 -0800
From: Dimitris Michailidis <d.michailidis@...gible.com>
To: davem@...emloft.net, kuba@...nel.org, netdev@...r.kernel.org,
andrew@...n.ch, d.michailidis@...gible.com
Subject: [PATCH net-next v8 0/8] new Fungible Ethernet driver
This patch series contains a new network driver for the Ethernet
functionality of Fungible cards.
It contains two modules. The first one in patch 2 is a library module
that implements some of the device setup, queue managenent, and support
for operating an admin queue. These are placed in a separate module
because the cards provide a number of PCI functions handled by different
types of drivers and all use the same common means to interact with the
device. Each of the drivers will be relying on this library module for
them.
The remaining patches provide the Ethernet driver for the cards.
v2:
- Fix set_pauseparam, remove get_wol, remove module param (Andrew Lunn)
- Fix a register poll loop (Andrew)
- Replace constants defined with 'static const'
- make W=1 C=1 is clean
- Remove devlink FW update (Jakub)
- Remove duplicate ethtool stats covered by structured API (Jakub)
v3:
- Make TLS stats unconditional (Andrew)
- Remove inline from .c (Andrew)
- Replace some ifdef with IS_ENABLED (Andrew)
- Fix build failure on 32b arches (build robot)
- Fix build issue with make O= (Jakub)
v4:
- Fix for newer bpf_warn_invalid_xdp_action() (Jakub)
- Remove 32b dma_set_mask_and_coherent()
v5:
- Make XDP enter/exit non-disruptive to active traffic
- Remove dormant port state
- Style fixes, unused stuff removal (Jakub)
v6:
- When changing queue depth or numbers allocate the new queues
before shutting down the existing ones (Jakub)
v7:
- Convert IRQ bookeeping to use XArray.
- Changes to the numbers of Tx/Rx queues are now incremental and
do not disrupt ongoing traffic.
- Implement .ndo_eth_ioctl instead of .ndo_do_ioctl.
- Replace deprecated irq_set_affinity_hint.
- Remove TLS 1.3 support (Jakub)
- Remove hwtstamp_config.flags check (Jakub)
- Add locking in SR-IOV enable/disable. (Jakub)
v8:
- Remove dropping of <33B packets and the associated counter (Jakub)
- Report CQE size.
- Show last MAC stats when the netdev isn't running (Andrew)
Dimitris Michailidis (8):
PCI: Add Fungible Vendor ID to pci_ids.h
net/fungible: Add service module for Fungible drivers
net/funeth: probing and netdev ops
net/funeth: ethtool operations
net/funeth: devlink support
net/funeth: add the data path
net/funeth: add kTLS TX control part
net/fungible: Kconfig, Makefiles, and MAINTAINERS
MAINTAINERS | 6 +
drivers/net/ethernet/Kconfig | 1 +
drivers/net/ethernet/Makefile | 1 +
drivers/net/ethernet/fungible/Kconfig | 27 +
drivers/net/ethernet/fungible/Makefile | 7 +
.../net/ethernet/fungible/funcore/Makefile | 5 +
.../net/ethernet/fungible/funcore/fun_dev.c | 843 +++++++
.../net/ethernet/fungible/funcore/fun_dev.h | 150 ++
.../net/ethernet/fungible/funcore/fun_hci.h | 1202 ++++++++++
.../net/ethernet/fungible/funcore/fun_queue.c | 601 +++++
.../net/ethernet/fungible/funcore/fun_queue.h | 175 ++
drivers/net/ethernet/fungible/funeth/Kconfig | 17 +
drivers/net/ethernet/fungible/funeth/Makefile | 10 +
.../net/ethernet/fungible/funeth/fun_port.h | 97 +
drivers/net/ethernet/fungible/funeth/funeth.h | 171 ++
.../ethernet/fungible/funeth/funeth_devlink.c | 40 +
.../ethernet/fungible/funeth/funeth_devlink.h | 13 +
.../ethernet/fungible/funeth/funeth_ethtool.c | 1162 +++++++++
.../ethernet/fungible/funeth/funeth_ktls.c | 155 ++
.../ethernet/fungible/funeth/funeth_ktls.h | 31 +
.../ethernet/fungible/funeth/funeth_main.c | 2091 +++++++++++++++++
.../net/ethernet/fungible/funeth/funeth_rx.c | 826 +++++++
.../ethernet/fungible/funeth/funeth_trace.h | 117 +
.../net/ethernet/fungible/funeth/funeth_tx.c | 762 ++++++
.../ethernet/fungible/funeth/funeth_txrx.h | 264 +++
include/linux/pci_ids.h | 2 +
26 files changed, 8776 insertions(+)
create mode 100644 drivers/net/ethernet/fungible/Kconfig
create mode 100644 drivers/net/ethernet/fungible/Makefile
create mode 100644 drivers/net/ethernet/fungible/funcore/Makefile
create mode 100644 drivers/net/ethernet/fungible/funcore/fun_dev.c
create mode 100644 drivers/net/ethernet/fungible/funcore/fun_dev.h
create mode 100644 drivers/net/ethernet/fungible/funcore/fun_hci.h
create mode 100644 drivers/net/ethernet/fungible/funcore/fun_queue.c
create mode 100644 drivers/net/ethernet/fungible/funcore/fun_queue.h
create mode 100644 drivers/net/ethernet/fungible/funeth/Kconfig
create mode 100644 drivers/net/ethernet/fungible/funeth/Makefile
create mode 100644 drivers/net/ethernet/fungible/funeth/fun_port.h
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth.h
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_devlink.c
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_devlink.h
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_ethtool.c
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_ktls.c
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_ktls.h
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_main.c
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_rx.c
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_trace.h
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_tx.c
create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_txrx.h
--
2.25.1
Powered by blists - more mailing lists