From: Felix Fietkau <nbd@nbd.name>
To: netdev@vger.kernel.org, Matthias Brugger <matthias.bgg@gmail.com>
Cc: Vladimir Oltean <olteanv@gmail.com>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: [PATCH net-next v2 00/12] Multiqueue + DSA untag support + fixes for mtk_eth_soc
Date: Wed, 9 Nov 2022 17:34:14 +0100 [thread overview]
Message-ID: <20221109163426.76164-1-nbd@nbd.name> (raw)
This series contains multiple improvements for mtk_eth_soc:
On devices with QDMA (MT7621 and newer), multiqueue support is implemented
by using the SoC's traffic shaper function, which sits on the DMA engine.
The driver exposes traffic shaper queues as network stack queues and configures
them to the link speed limit. This fixes an issue where traffic to slower ports
would drown out traffic to faster ports. It also fixes packet drops and jitter
when running hardware offloaded traffic alongside traffic from the CPU.
On MT7622, the DSA tag for MT753x switches can be untagged by the DMA engine,
which removes the need for header mangling in the DSA tag driver.
This is implemented by letting DSA skip the tag receive function, if the port
is passed via metadata dst type METADATA_HW_PORT_MUX
Also part of this series are a number of fixes to TSO/SG support
Changes in v2:
- drop the use of skb vlan tags to pass the port information to the tag driver,
use metadata_dst instead
- fix a small issue in enabling untag
Felix Fietkau (12):
net: ethernet: mtk_eth_soc: account for vlan in rx header length
net: ethernet: mtk_eth_soc: increase tx ring side for QDMA devices
net: ethernet: mtk_eth_soc: avoid port_mg assignment on MT7622 and
newer
net: ethernet: mtk_eth_soc: implement multi-queue support for per-port
queues
net: dsa: tag_mtk: assign per-port queues
net: ethernet: mediatek: ppe: assign per-port queues for offloaded
traffic
net: ethernet: mtk_eth_soc: compile out netsys v2 code on mt7621
net: dsa: add support for DSA rx offloading via metadata dst
net: ethernet: mtk_eth_soc: fix VLAN rx hardware acceleration
net: ethernet: mtk_eth_soc: work around issue with sending small
fragments
net: ethernet: mtk_eth_soc: set NETIF_F_ALL_TSO
net: ethernet: mtk_eth_soc: drop packets to WDMA if the ring is full
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 461 ++++++++++++++----
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 49 +-
drivers/net/ethernet/mediatek/mtk_ppe.c | 22 +-
drivers/net/ethernet/mediatek/mtk_ppe.h | 4 +
.../net/ethernet/mediatek/mtk_ppe_offload.c | 12 +-
net/core/flow_dissector.c | 4 +-
net/dsa/dsa.c | 18 +-
net/dsa/tag_mtk.c | 2 +
8 files changed, 469 insertions(+), 103 deletions(-)
--
2.38.1
next reply other threads:[~2022-11-09 16:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-09 16:34 Felix Fietkau [this message]
2022-11-09 16:34 ` [PATCH net-next v2 01/12] net: ethernet: mtk_eth_soc: account for vlan in rx header length Felix Fietkau
2022-11-10 14:31 ` Vladimir Oltean
2022-11-09 16:34 ` [PATCH net-next v2 02/12] net: ethernet: mtk_eth_soc: increase tx ring side for QDMA devices Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 03/12] net: ethernet: mtk_eth_soc: avoid port_mg assignment on MT7622 and newer Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 04/12] net: ethernet: mtk_eth_soc: implement multi-queue support for per-port queues Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 05/12] net: dsa: tag_mtk: assign " Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 06/12] net: ethernet: mediatek: ppe: assign per-port queues for offloaded traffic Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 07/12] net: ethernet: mtk_eth_soc: compile out netsys v2 code on mt7621 Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 08/12] net: dsa: add support for DSA rx offloading via metadata dst Felix Fietkau
2022-11-11 12:06 ` Vladimir Oltean
2022-11-09 16:34 ` [PATCH net-next v2 09/12] net: ethernet: mtk_eth_soc: fix VLAN rx hardware acceleration Felix Fietkau
2022-11-10 15:22 ` Vladimir Oltean
2022-11-10 18:42 ` Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 10/12] net: ethernet: mtk_eth_soc: work around issue with sending small fragments Felix Fietkau
2022-11-09 16:34 ` [PATCH net-next v2 11/12] net: ethernet: mtk_eth_soc: set NETIF_F_ALL_TSO Felix Fietkau
2022-11-11 2:09 ` Jakub Kicinski
2022-11-09 16:34 ` [PATCH net-next v2 12/12] net: ethernet: mtk_eth_soc: drop packets to WDMA if the ring is full Felix Fietkau
2022-11-10 14:28 ` [PATCH net-next v2 00/12] Multiqueue + DSA untag support + fixes for mtk_eth_soc Vladimir Oltean
2022-11-10 18:44 ` Felix Fietkau
2022-11-10 18:50 ` Russell King (Oracle)
2022-11-10 19:03 ` Felix Fietkau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221109163426.76164-1-nbd@nbd.name \
--to=nbd@nbd.name \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).