[PATCH net-next v2 0/7] net: xilinx: axienet: Add 10G/25G (XXV) ethernet support
Suraj Gupta <[email protected]> Thu, 6 Aug 2026 23:41:46 +0530
| Newsgroups | org.kernel.vger.linux-clk,dev.linux.lists.driver-core,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
This patch series extends the AXI Ethernet driver to support the XXV Ethernet subsystem. - Add a devm_clk_bulk_get_enable() helper for consumers that need a set of mandatory clocks enabled with device-managed cleanup. - 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 sent as part of another series. That change is required for this series to compile and is not included here to avoid duplication. - "xlnx,rxmem" is a required property; driver changes for that are handled in a separate patch series[2]. - Due to phylink limitations, we aren't able to advertise both 10G and 25G base-r interfaces and switch between them using ethtool. We are open to suggestions on how to handle this. [1]: https://lore.kernel.org/all/[email protected]/ [2]: https://lore.kernel.org/all/[email protected]/ Changes in v2: - Patch 1/7: * Add Reviewed-by: Brian Masney <[email protected]>. 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/[email protected]/ Suraj Gupta (7): clk: Add devm_clk_bulk_get_enable() 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 | 107 ++++ .../driver-api/driver-model/devres.rst | 1 + MAINTAINERS | 1 + drivers/clk/clk-devres.c | 7 + drivers/net/ethernet/xilinx/Makefile | 3 +- drivers/net/ethernet/xilinx/xilinx_axienet.h | 90 +++ .../net/ethernet/xilinx/xilinx_axienet_main.c | 603 ++++++++++++------ .../net/ethernet/xilinx/xilinx_axienet_xxv.c | 595 +++++++++++++++++ .../net/ethernet/xilinx/xilinx_axienet_xxv.h | 141 ++++ include/linux/clk.h | 23 + 10 files changed, 1389 insertions(+), 182 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 base-commit: 67ce33d8d0d166bc9e445d6e42a75b131ed23a7b -- 2.25.1