[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250213101606.1154014-1-maxime.chevallier@bootlin.com>
Date: Thu, 13 Feb 2025 11:15:48 +0100
From: Maxime Chevallier <maxime.chevallier@...tlin.com>
To: davem@...emloft.net
Cc: Maxime Chevallier <maxime.chevallier@...tlin.com>,
netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
thomas.petazzoni@...tlin.com,
Andrew Lunn <andrew@...n.ch>,
Jakub Kicinski <kuba@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>,
Russell King <linux@...linux.org.uk>,
linux-arm-kernel@...ts.infradead.org,
Christophe Leroy <christophe.leroy@...roup.eu>,
Herve Codina <herve.codina@...tlin.com>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Vladimir Oltean <vladimir.oltean@....com>,
Köry Maincent <kory.maincent@...tlin.com>,
Marek Behún <kabel@...nel.org>,
Oleksij Rempel <o.rempel@...gutronix.de>,
Nicolò Veronese <nicveronese@...il.com>,
Simon Horman <horms@...nel.org>,
mwojtas@...omium.org,
Antoine Tenart <atenart@...nel.org>,
devicetree@...r.kernel.org,
Conor Dooley <conor+dt@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Rob Herring <robh@...nel.org>,
Romain Gantois <romain.gantois@...tlin.com>,
Daniel Golle <daniel@...rotopia.org>,
Dimitri Fedrau <dimitri.fedrau@...bherr.com>,
Sean Anderson <seanga2@...il.com>
Subject: [PATCH net-next v4 00/15] Introduce an ethernet port representation
Hello everyone,
This is V4 of the series introducing the phy_port infrastructure.
Previous version was incorrectly labeled V1, all previous versions can
be found here :
V3: https://lore.kernel.org/netdev/20250207223634.600218-1-maxime.chevallier@bootlin.com/
RFC V2: https://lore.kernel.org/netdev/20250122174252.82730-1-maxime.chevallier@bootlin.com/
RFC V1: https://lore.kernel.org/netdev/20241220201506.2791940-1-maxime.chevallier@bootlin.com/
The goal of that work is to lay the ground for multi-port devices,
either using multi-port PHY devices, or MII-side multiplexers.
for now, that series only focuses on the PHY device aspect, and includes
no uAPI and no muxing support yet.
The key points from that series are :
- The introduction of a dedicated object to represent a port
- The introduciton of a new binding to represent these ports in
devicetree, to accurately describe multi-port devices
- The support of ports for PHY devices, including PHY-drivert SFP
busses through a generic phylib set of upstream ops
- The MAINTAINERS file was updated to account for the new files
- Some documentation :)
Changes in V4 :
- Introduced a kernel doc
- Reworked the mediums definitions in patch 2
- QCA807x now uses the generic SFP support
- Fixed some implementation bugs to build the support list based on the
interfaces supported on a port
Maxime Chevallier (15):
net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values
net: ethtool: Export the link_mode_params definitions
net: phy: Introduce PHY ports representation
net: phy: dp83822: Add support for phy_port representation
net: phy: Create a phy_port for PHY-driven SFPs
net: phy: Introduce generic SFP handling for PHY drivers
net: phy: marvell-88x2222: Support SFP through phy_port interface
net: phy: marvell: Support SFP through phy_port interface
net: phy: marvell10g: Support SFP through phy_port
net: phy: at803x: Support SFP through phy_port interface
net: phy: qca807x: Support SFP through phy_port interface
net: phy: Only rely on phy_port for PHY-driven SFP
net: phy: dp83822: Add SFP support through the phy_port interface
Documentation: networking: Document the phy_port infrastructure
dt-bindings: net: Introduce the phy-port description
.../devicetree/bindings/net/ethernet-phy.yaml | 18 +
.../bindings/net/ethernet-port.yaml | 47 +++
Documentation/networking/index.rst | 1 +
Documentation/networking/phy-port.rst | 111 +++++++
MAINTAINERS | 3 +
drivers/net/phy/Makefile | 2 +-
drivers/net/phy/dp83822.c | 71 ++--
drivers/net/phy/marvell-88x2222.c | 96 +++---
drivers/net/phy/marvell.c | 100 +++---
drivers/net/phy/marvell10g.c | 37 +--
drivers/net/phy/phy_device.c | 312 +++++++++++++++++-
drivers/net/phy/phy_port.c | 176 ++++++++++
drivers/net/phy/phylink.c | 32 ++
drivers/net/phy/qcom/at803x.c | 64 +---
drivers/net/phy/qcom/qca807x.c | 75 ++---
include/linux/ethtool.h | 73 ++++
include/linux/phy.h | 38 ++-
include/linux/phy_port.h | 92 ++++++
include/linux/phylink.h | 2 +
net/ethtool/common.c | 250 ++++++++------
net/ethtool/common.h | 7 -
21 files changed, 1218 insertions(+), 389 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/ethernet-port.yaml
create mode 100644 Documentation/networking/phy-port.rst
create mode 100644 drivers/net/phy/phy_port.c
create mode 100644 include/linux/phy_port.h
--
2.48.1
Powered by blists - more mailing lists