devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v8 00/15] Introduce flowtable hw offloading in airoha_eth driver
@ 2025-02-28 10:54 Lorenzo Bianconi
  2025-02-28 10:54 ` [PATCH net-next v8 01/15] net: airoha: Move airoha_eth driver in a dedicated folder Lorenzo Bianconi
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: Lorenzo Bianconi @ 2025-02-28 10:54 UTC (permalink / raw)
  To: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Felix Fietkau, Sean Wang, Matthias Brugger,
	AngeloGioacchino Del Regno, Philipp Zabel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lorenzo Bianconi,
	Chester A. Unal, Daniel Golle, DENG Qingfang, Andrew Lunn,
	Vladimir Oltean
  Cc: netdev, linux-arm-kernel, linux-mediatek, devicetree, upstream,
	Sayantan Nandy, Christian Marangi, Krzysztof Kozlowski

Introduce netfilter flowtable integration in airoha_eth driver to
offload 5-tuple flower rules learned by the PPE module if the user
accelerates them using a nft configuration similar to the one reported
below:

table inet filter {
	flowtable ft {
		hook ingress priority filter
		devices = { lan1, lan2, lan3, lan4, eth1 }
		flags offload;
	}
	chain forward {
		type filter hook forward priority filter; policy accept;
		meta l4proto { tcp, udp } flow add @ft
	}
}

Packet Processor Engine (PPE) module available on EN7581 SoC populates
the PPE table with 5-tuples flower rules learned from traffic forwarded
between the GDM ports connected to the Packet Switch Engine (PSE) module.
airoha_eth driver configures and collects data from the PPE module via a
Network Processor Unit (NPU) RISC-V module available on the EN7581 SoC.
Move airoha_eth driver in a dedicated folder
(drivers/net/ethernet/airoha).

---
Changes in v8:
- Remove unnecessary GFP_ZERO flag in dmam_alloc_coherent()
- Fix 802.1q offloading support
- Link to v7: https://lore.kernel.org/r/20250224-airoha-en7581-flowtable-offload-v7-0-b4a22ad8364e@kernel.org

Changes in v7:
- Fix Coccicheck warnings
- Add missing request_module
- Introduce ops in airoha_npu struct
- Add missing wlan interrupt to airoha_npu binding
- Link to v6: https://lore.kernel.org/r/20250221-airoha-en7581-flowtable-offload-v6-0-d593af0e9487@kernel.org

Changes in v6:
- Fix Smatch errors.
- Remove unnecessary GFP_DMA allocating NPU buffers
- Remove wrong dma coherent mask
- Rely on skb_cow_head() instead of skb_ensure_writable() in
  airoha_get_dsa_tag()
- Unregister net_device before deallocating metadata_dst
- Link to v5: https://lore.kernel.org/r/20250217-airoha-en7581-flowtable-offload-v5-0-28be901cb735@kernel.org

Changes in v5:
- Fix uninitialized variable in airoha_ppe_setup_tc_block_cb()
- Rebase on top of net-next
- Link to v4: https://lore.kernel.org/r/20250213-airoha-en7581-flowtable-offload-v4-0-b69ca16d74db@kernel.org

Changes in v4:
- Add dedicated driver for the Airoha NPU module
- Move airoha npu binding in net
- Link to v3: https://lore.kernel.org/r/20250209-airoha-en7581-flowtable-offload-v3-0-dba60e755563@kernel.org

Changes in v3:
- Fix TSO support for header cloned skbs
- Do not use skb_pull_rcsum() in airoha_get_dsa_tag()
- Fix head lean computation after running airoha_get_dsa_tag() in
  airoha_dev_xmit()
- Link to v2: https://lore.kernel.org/r/20250207-airoha-en7581-flowtable-offload-v2-0-3a2239692a67@kernel.org

Changes in v2:
- Add airoha-npu document binding
- Enable Rx SPTAG on MT7530 dsa switch for EN7581 SoC.
- Fix warnings in airoha_npu_run_firmware()
- Fix sparse warnings
- Link to v1: https://lore.kernel.org/r/20250205-airoha-en7581-flowtable-offload-v1-0-d362cfa97b01@kernel.org

---
Lorenzo Bianconi (15):
      net: airoha: Move airoha_eth driver in a dedicated folder
      net: airoha: Move definitions in airoha_eth.h
      net: airoha: Move reg/write utility routines in airoha_eth.h
      net: airoha: Move register definitions in airoha_regs.h
      net: airoha: Move DSA tag in DMA descriptor
      net: dsa: mt7530: Enable Rx sptag for EN7581 SoC
      net: airoha: Enable support for multiple net_devices
      net: airoha: Move REG_GDM_FWD_CFG() initialization in airoha_dev_init()
      net: airoha: Rename airoha_set_gdm_port_fwd_cfg() in airoha_set_vip_for_gdm_port()
      dt-bindings: net: airoha: Add the NPU node for EN7581 SoC
      dt-bindings: net: airoha: Add airoha,npu phandle property
      net: airoha: Introduce Airoha NPU support
      net: airoha: Introduce flowtable offload support
      net: airoha: Add loopback support for GDM2
      net: airoha: Introduce PPE debugfs support

 .../devicetree/bindings/net/airoha,en7581-eth.yaml |   10 +
 .../devicetree/bindings/net/airoha,en7581-npu.yaml |   84 ++
 drivers/net/dsa/mt7530.c                           |    5 +
 drivers/net/dsa/mt7530.h                           |    4 +
 drivers/net/ethernet/Kconfig                       |    2 +
 drivers/net/ethernet/Makefile                      |    1 +
 drivers/net/ethernet/airoha/Kconfig                |   27 +
 drivers/net/ethernet/airoha/Makefile               |    9 +
 .../net/ethernet/{mediatek => airoha}/airoha_eth.c | 1277 +++++---------------
 drivers/net/ethernet/airoha/airoha_eth.h           |  551 +++++++++
 drivers/net/ethernet/airoha/airoha_npu.c           |  520 ++++++++
 drivers/net/ethernet/airoha/airoha_npu.h           |   34 +
 drivers/net/ethernet/airoha/airoha_ppe.c           |  910 ++++++++++++++
 drivers/net/ethernet/airoha/airoha_ppe_debugfs.c   |  181 +++
 drivers/net/ethernet/airoha/airoha_regs.h          |  798 ++++++++++++
 drivers/net/ethernet/mediatek/Kconfig              |    8 -
 drivers/net/ethernet/mediatek/Makefile             |    1 -
 17 files changed, 3422 insertions(+), 1000 deletions(-)
---
base-commit: 56794b5862c5a9aefcf2b703257c6fb93f76573e
change-id: 20250205-airoha-en7581-flowtable-offload-e3a11b3b34ad

Best regards,
-- 
Lorenzo Bianconi <lorenzo@kernel.org>


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-03-04 12:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-28 10:54 [PATCH net-next v8 00/15] Introduce flowtable hw offloading in airoha_eth driver Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 01/15] net: airoha: Move airoha_eth driver in a dedicated folder Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 02/15] net: airoha: Move definitions in airoha_eth.h Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 03/15] net: airoha: Move reg/write utility routines " Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 04/15] net: airoha: Move register definitions in airoha_regs.h Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 05/15] net: airoha: Move DSA tag in DMA descriptor Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 06/15] net: dsa: mt7530: Enable Rx sptag for EN7581 SoC Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 07/15] net: airoha: Enable support for multiple net_devices Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 08/15] net: airoha: Move REG_GDM_FWD_CFG() initialization in airoha_dev_init() Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 09/15] net: airoha: Rename airoha_set_gdm_port_fwd_cfg() in airoha_set_vip_for_gdm_port() Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 10/15] dt-bindings: net: airoha: Add the NPU node for EN7581 SoC Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 11/15] dt-bindings: net: airoha: Add airoha,npu phandle property Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 12/15] net: airoha: Introduce Airoha NPU support Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 13/15] net: airoha: Introduce flowtable offload support Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 14/15] net: airoha: Add loopback support for GDM2 Lorenzo Bianconi
2025-02-28 10:54 ` [PATCH net-next v8 15/15] net: airoha: Introduce PPE debugfs support Lorenzo Bianconi
2025-03-04 12:30 ` [PATCH net-next v8 00/15] Introduce flowtable hw offloading in airoha_eth driver patchwork-bot+netdevbpf

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).