[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220912182829.160715-1-ioana.ciornei@nxp.com>
Date: Mon, 12 Sep 2022 21:28:17 +0300
From: Ioana Ciornei <ioana.ciornei@....com>
To: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, netdev@...r.kernel.org
Cc: ast@...nel.org, daniel@...earbox.net, hawk@...nel.org,
john.fastabend@...il.com, Ioana Ciornei <ioana.ciornei@....com>
Subject: [PATCH net-next 00/12] net: dpaa2-eth: AF_XDP zero-copy support
This patch set adds support for AF_XDP zero-copy in the dpaa2-eth
driver. The support is available on the LX2160A SoC and its variants and
only on interfaces (DPNIs) with a maximum of 8 queues (HW limitations
are the root cause).
We are first implementing the .get_channels() callback since this a
dependency for further work.
Patches 2-3 are working on making the necessary changes for multiple
buffer pools on a single interface. By default, without an AF_XDP socket
attached, only a single buffer pool will be used and shared between all
the queues. The changes in the functions are made in this patch, but the
actual allocation and setup of a new BP is done in patch#10.
Patches 4-5 are improving the information exposed in debugfs. We are
exposing a new file to show which buffer pool is used by what channels
and how many buffers it currently has.
The 6th patch updates the dpni_set_pools() firmware API so that we are
capable of setting up a different buffer per queue in later patches.
In the 7th patch the generic dev_open/close APIs are used instead of the
dpaa2-eth internal ones.
Patches 8-9 are rearranging the existing code in dpaa2-eth.c in order to
create new functions which will be used in the XSK implementation in
dpaa2-xsk.c
Finally, the last 3 patches are adding the actual support for both the
Rx and Tx path of AF_XDP zero-copy and some associated tracepoints.
Details on the implementation can be found in the actual patch.
Ioana Ciornei (4):
net: dpaa2-eth: rearrange variable in dpaa2_eth_get_ethtool_stats
net: dpaa2-eth: export the CH#<index> in the 'ch_stats' debug file
net: dpaa2-eth: export buffer pool info into a new debugfs file
net: dpaa2-eth: use dev_close/open instead of the internal functions
Robert-Ionut Alexa (8):
net: dpaa2-eth: add support to query the number of queues through
ethtool
net: dpaa2-eth: add support for multiple buffer pools per DPNI
net: dpaa2-eth: update the dpni_set_pools() API to support per QDBIN
pools
net: dpaa2-eth: create and export the dpaa2_eth_alloc_skb function
net: dpaa2-eth: create and export the dpaa2_eth_receive_skb() function
net: dpaa2-eth: AF_XDP RX zero copy support
net: dpaa2-eth: AF_XDP TX zero copy support
net: dpaa2-eth: add trace points on XSK events
MAINTAINERS | 1 +
drivers/net/ethernet/freescale/dpaa2/Makefile | 2 +-
.../freescale/dpaa2/dpaa2-eth-debugfs.c | 57 ++-
.../freescale/dpaa2/dpaa2-eth-trace.h | 142 ++++--
.../net/ethernet/freescale/dpaa2/dpaa2-eth.c | 479 ++++++++++++------
.../net/ethernet/freescale/dpaa2/dpaa2-eth.h | 98 +++-
.../ethernet/freescale/dpaa2/dpaa2-ethtool.c | 58 ++-
.../net/ethernet/freescale/dpaa2/dpaa2-xsk.c | 452 +++++++++++++++++
.../net/ethernet/freescale/dpaa2/dpni-cmd.h | 19 +-
drivers/net/ethernet/freescale/dpaa2/dpni.c | 6 +-
drivers/net/ethernet/freescale/dpaa2/dpni.h | 9 +
11 files changed, 1081 insertions(+), 242 deletions(-)
create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
--
2.33.1
Powered by blists - more mailing lists