From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: davem@davemloft.net
Cc: "Maxime Chevallier" <maxime.chevallier@bootlin.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
thomas.petazzoni@bootlin.com, "Andrew Lunn" <andrew@lunn.ch>,
"Jakub Kicinski" <kuba@kernel.org>,
"Eric Dumazet" <edumazet@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Russell King" <linux@armlinux.org.uk>,
linux-arm-kernel@lists.infradead.org,
"Christophe Leroy" <christophe.leroy@csgroup.eu>,
"Herve Codina" <herve.codina@bootlin.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Heiner Kallweit" <hkallweit1@gmail.com>,
"Vladimir Oltean" <vladimir.oltean@nxp.com>,
"Köry Maincent" <kory.maincent@bootlin.com>,
"Jesse Brandeburg" <jesse.brandeburg@intel.com>,
"Marek Behún" <kabel@kernel.org>,
"Piergiorgio Beruto" <piergiorgio.beruto@gmail.com>,
"Oleksij Rempel" <o.rempel@pengutronix.de>,
"Nicolò Veronese" <nicveronese@gmail.com>,
"Simon Horman" <horms@kernel.org>,
mwojtas@chromium.org, "Nathan Chancellor" <nathan@kernel.org>,
"Antoine Tenart" <atenart@kernel.org>
Subject: [PATCH net-next v12 00/13] Introduce PHY listing and link_topology tracking
Date: Wed, 5 Jun 2024 14:49:05 +0200 [thread overview]
Message-ID: <20240605124920.720690-1-maxime.chevallier@bootlin.com> (raw)
Hello everyone,
This is V12 for the link topology addition, allowing to track all PHYs
that are linked to netdevices.
This version is based on the V11 that was partially applied during last
cycle, then reverted as some issues were found by Nathan and Heiner, which lead
som some discussions to address them. Therefore, all issues that were reported
and the proposed fixes (thanks Heiner !) are taken into account, all of which
ended-up in patch 01/13.
The rest of the series is mostly untouched, the main points being an
update of the PSE-PD part following the PoE support added by Köry and
some fixes regarding the documentation (a broken ref found by Jakub).
I've gathered all of Andrew's reviews on V11, however as I had to rework
the pse-pd part a bit, I haven't added the tag on this patch (patch
10/13).
Discussions on the patch 01/13 updates can be found here :
https://lore.kernel.org/netdev/20240412104615.3779632-1-maxime.chevallier@bootlin.com/
https://lore.kernel.org/netdev/20240429131008.439231-1-maxime.chevallier@bootlin.com/
https://lore.kernel.org/netdev/20240507102822.2023826-1-maxime.chevallier@bootlin.com/
As a remainder, here's what the PHY listings would look like :
- eth0 has a 88x3310 acting as media converter, and an SFP module with
an embedded 88e1111 PHY
- eth2 has a 88e1510 PHY
# ethtool --show-phys *
PHY for eth0:
PHY index: 1
Driver name: mv88x3310
PHY device name: f212a600.mdio-mii:00
Downstream SFP bus name: sfp-eth0
PHY id: 0
Upstream type: MAC
PHY for eth0:
PHY index: 2
Driver name: Marvell 88E1111
PHY device name: i2c:sfp-eth0:16
PHY id: 21040322
Upstream type: PHY
Upstream PHY index: 1
Upstream SFP name: sfp-eth0
PHY for eth2:
PHY index: 1
Driver name: Marvell 88E1510
PHY device name: f212a200.mdio-mii:00
PHY id: 21040593
Upstream type: MAC
Ethtool patches : https://github.com/minimaxwell/ethtool/tree/mc/main
Link to v11: https://lore.kernel.org/netdev/20240404093004.2552221-1-maxime.chevallier@bootlin.com/
Link to V10: https://lore.kernel.org/netdev/20240304151011.1610175-1-maxime.chevallier@bootlin.com/
Link to V9: https://lore.kernel.org/netdev/20240228114728.51861-1-maxime.chevallier@bootlin.com/
Link to V8: https://lore.kernel.org/netdev/20240220184217.3689988-1-maxime.chevallier@bootlin.com/
Link to V7: https://lore.kernel.org/netdev/20240213150431.1796171-1-maxime.chevallier@bootlin.com/
Link to V6: https://lore.kernel.org/netdev/20240126183851.2081418-1-maxime.chevallier@bootlin.com/
Link to V5: https://lore.kernel.org/netdev/20231221180047.1924733-1-maxime.chevallier@bootlin.com/
Link to V4: https://lore.kernel.org/netdev/20231215171237.1152563-1-maxime.chevallier@bootlin.com/
Link to V3: https://lore.kernel.org/netdev/20231201163704.1306431-1-maxime.chevallier@bootlin.com/
Link to V2: https://lore.kernel.org/netdev/20231117162323.626979-1-maxime.chevallier@bootlin.com/
Link to V1: https://lore.kernel.org/netdev/20230907092407.647139-1-maxime.chevallier@bootlin.com/
Maxime Chevallier (13):
net: phy: Introduce ethernet link topology representation
net: sfp: pass the phy_device when disconnecting an sfp module's PHY
net: phy: add helpers to handle sfp phy connect/disconnect
net: sfp: Add helper to return the SFP bus name
net: ethtool: Allow passing a phy index for some commands
netlink: specs: add phy-index as a header parameter
net: ethtool: Introduce a command to list PHYs on an interface
netlink: specs: add ethnl PHY_GET command set
net: ethtool: plca: Target the command to the requested PHY
net: ethtool: pse-pd: Target the command to the requested PHY
net: ethtool: cable-test: Target the command to the requested PHY
net: ethtool: strset: Allow querying phy stats by index
Documentation: networking: document phy_link_topology
Documentation/netlink/specs/ethtool.yaml | 62 ++++
Documentation/networking/ethtool-netlink.rst | 52 +++
Documentation/networking/index.rst | 1 +
.../networking/phy-link-topology.rst | 121 +++++++
MAINTAINERS | 1 +
drivers/net/phy/Makefile | 2 +-
drivers/net/phy/marvell-88x2222.c | 2 +
drivers/net/phy/marvell.c | 2 +
drivers/net/phy/marvell10g.c | 2 +
drivers/net/phy/phy_device.c | 46 +++
drivers/net/phy/phy_link_topology.c | 105 ++++++
drivers/net/phy/phylink.c | 3 +-
drivers/net/phy/qcom/at803x.c | 2 +
drivers/net/phy/qcom/qca807x.c | 2 +
drivers/net/phy/sfp-bus.c | 15 +-
include/linux/netdevice.h | 4 +-
include/linux/phy.h | 6 +
include/linux/phy_link_topology.h | 82 +++++
include/linux/sfp.h | 8 +-
include/uapi/linux/ethtool.h | 16 +
include/uapi/linux/ethtool_netlink.h | 21 ++
net/core/dev.c | 15 +
net/ethtool/Makefile | 2 +-
net/ethtool/cabletest.c | 16 +-
net/ethtool/netlink.c | 57 +++-
net/ethtool/netlink.h | 10 +
net/ethtool/phy.c | 306 ++++++++++++++++++
net/ethtool/plca.c | 19 +-
net/ethtool/pse-pd.c | 16 +-
net/ethtool/strset.c | 17 +-
30 files changed, 968 insertions(+), 45 deletions(-)
create mode 100644 Documentation/networking/phy-link-topology.rst
create mode 100644 drivers/net/phy/phy_link_topology.c
create mode 100644 include/linux/phy_link_topology.h
create mode 100644 net/ethtool/phy.c
--
2.45.1
next reply other threads:[~2024-06-05 12:49 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-05 12:49 Maxime Chevallier [this message]
2024-06-05 12:49 ` [PATCH net-next v12 01/13] net: phy: Introduce ethernet link topology representation Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 02/13] net: sfp: pass the phy_device when disconnecting an sfp module's PHY Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 03/13] net: phy: add helpers to handle sfp phy connect/disconnect Maxime Chevallier
2024-06-06 3:10 ` Jakub Kicinski
2024-06-06 6:57 ` Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 04/13] net: sfp: Add helper to return the SFP bus name Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 05/13] net: ethtool: Allow passing a phy index for some commands Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 06/13] netlink: specs: add phy-index as a header parameter Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 07/13] net: ethtool: Introduce a command to list PHYs on an interface Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 08/13] netlink: specs: add ethnl PHY_GET command set Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 09/13] net: ethtool: plca: Target the command to the requested PHY Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 10/13] net: ethtool: pse-pd: " Maxime Chevallier
2024-06-06 8:41 ` Kory Maincent
2024-06-05 12:49 ` [PATCH net-next v12 11/13] net: ethtool: cable-test: " Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 12/13] net: ethtool: strset: Allow querying phy stats by index Maxime Chevallier
2024-06-05 12:49 ` [PATCH net-next v12 13/13] Documentation: networking: document phy_link_topology Maxime Chevallier
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=20240605124920.720690-1-maxime.chevallier@bootlin.com \
--to=maxime.chevallier@bootlin.com \
--cc=andrew@lunn.ch \
--cc=atenart@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=herve.codina@bootlin.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=jesse.brandeburg@intel.com \
--cc=kabel@kernel.org \
--cc=kory.maincent@bootlin.com \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mwojtas@chromium.org \
--cc=nathan@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicveronese@gmail.com \
--cc=o.rempel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=piergiorgio.beruto@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.oltean@nxp.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
all inboxes | Powered by JetHome®