[PATCH net-next v4 0/6] net: xilinx: axienet: Add 10G/25G (XXV) ethernet support
flat view
HOTtoday
From: Suraj Gupta <hidden>
Date: 2026-10-06 11:07:48
Also in:
linux-devicetree, lkml, netdev
Revision v4 of 4 in this series.
Revisions (4)
- v1 [diff vs current]
- v2 [diff vs current]
- v3 [diff vs current]
- v4 current
This patch series extends the AXI Ethernet driver to support the XXV Ethernet subsystem. - Refactor through struct axienet_config so per-MAC behaviour is expressed as capability flags and callbacks instead of runtime MAC-type checks in the shared code. - Document the XXV IP in Devicetree. - Add support for the XXV Ethernet subsystem. - Add a preparatory RMON cleanup, a statistics-ops refactor of struct axienet_config, and ethtool / ndo_get_stats64 counter reporting for XXV. --- Notes: - This series depends on [1], which is a pre-requisite. That change is required for this series to compile and is not included here to avoid duplication. - The series advertises the core's active 10G or 25G rate only. Runtime switching between 10GBASE-R and 25GBASE-R is not supported and can be added later. [1]: https://lore.kernel.org/all/20260929081316.803997-1-srinivas.neeli@amd.com/ (local) Changes in v4: - Drop the "legacy" nomenclature and use dmaengine / non-dmaengine terminology as it might confuse with MAC instead of driver flow (Andrew Lunn). - Patch 1/6: Gate the "xlnx,txcsum" DT property behind the MAC's tx_csum capability, so TX checksum offload is not advertised for a MAC whose hardware cannot complete checksums (Sashiko bot). - Patch 2/6: Reword the binding description to state that the PCS/PMA is integrated into the IP, and that MDIO bus unavailability and SFP module (I2C) management are detailed in the IP (Andrew Lunn). - Patch 3/6: Reword the dma_err_handler comment from "legacy embedded-DMA (1G) path" to "non-dmaengine flow (1G MAC)" (Andrew Lunn). - Advertise only the core's active line rate. V3: https://lore.kernel.org/all/20260831150816.1020883-1-suraj.gupta2@amd.com/ (local) Changes in v3: - Dropped patch 1/7 ("clk: Add devm_clk_bulk_get_enable()"); it has been applied to mainline as commit b698927accb1. - Patch 2/6 (dt-bindings): * Added Reviewed-by from Rob Herring. Thanks Rob! V2: https://lore.kernel.org/all/20260806181153.1213996-1-suraj.gupta2@amd.com/ (local) Changes in v2: - Patch 1/7: * Add Reviewed-by: Brian Masney [off-list ref]. Thanks Brian! - Patch 3/7: * Split the XXV binding into its own schema file (xlnx,xxv-ethernet.yaml) instead of extending xlnx,axi-ethernet.yaml with if/then branches, per Rob Herring's review. * Add a multichannel (MCDMA) example. - Patch 4/7: * Require both GT Wizard reset-done bits in axienet_xxv_poll_link_ready() so polling does not exit before both the TX and RX resets complete. V1: https://lore.kernel.org/all/20260723123838.125145-1-suraj.gupta2@amd.com/ (local) Suraj Gupta (6): net: xilinx: axienet: Introduce axienet_config for MAC-specific ops dt-bindings: net: xlnx,xxv-ethernet: Add Xilinx XXV 10G/25G Ethernet net: xilinx: axienet: Add 10G/25G (XXV) ethernet support net: xilinx: axienet: Make axienet_rmon_ranges non-static for reuse net: xilinx: axienet: Dispatch statistics through axienet_config ops net: xilinx: axienet: Add statistics support for XXV ethernet .../bindings/net/xlnx,xxv-ethernet.yaml | 110 ++++ MAINTAINERS | 1 + drivers/net/ethernet/xilinx/Makefile | 3 +- drivers/net/ethernet/xilinx/xilinx_axienet.h | 90 +++ .../net/ethernet/xilinx/xilinx_axienet_main.c | 610 ++++++++++++------ .../net/ethernet/xilinx/xilinx_axienet_xxv.c | 592 +++++++++++++++++ .../net/ethernet/xilinx/xilinx_axienet_xxv.h | 141 ++++ 7 files changed, 1364 insertions(+), 183 deletions(-) create mode 100644 Documentation/devicetree/bindings/net/xlnx,xxv-ethernet.yaml create mode 100644 drivers/net/ethernet/xilinx/xilinx_axienet_xxv.c create mode 100644 drivers/net/ethernet/xilinx/xilinx_axienet_xxv.h -- 2.25.1