All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v1 0/5] ethtool: introduce PHY MSE diagnostics UAPI and drivers
@ 2025-08-13  8:14 Oleksij Rempel
  2025-08-13  8:14 ` [PATCH net-next v1 1/5] ethtool: introduce core UAPI and driver API for PHY MSE diagnostics Oleksij Rempel
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Oleksij Rempel @ 2025-08-13  8:14 UTC (permalink / raw)
  To: Andrew Lunn, Jakub Kicinski, David S. Miller, Eric Dumazet,
	Paolo Abeni, Simon Horman, Donald Hunter, Jonathan Corbet,
	Heiner Kallweit, Russell King, Kory Maincent, Maxime Chevallier,
	Nishanth Menon
  Cc: Oleksij Rempel, kernel, linux-kernel, netdev, UNGLinuxDriver,
	linux-doc, Michal Kubecek, Roan van Dijk

This series introduces a generic kernel-userspace API for retrieving PHY
Mean Square Error (MSE) diagnostics, together with netlink integration,
a fast-path reporting hook in LINKSTATE_GET, and initial driver
implementations for the KSZ9477 and DP83TD510E PHYs.

MSE is defined by the OPEN Alliance "Advanced diagnostic features for
100BASE-T1 automotive Ethernet PHYs" specification [1] as a measure of
slicer error rate, typically used internally to derive the Signal
Quality Indicator (SQI). While SQI is useful as a normalized quality
index, it hides raw measurement data, varies in scaling and thresholds
between vendors, and may not indicate certain failure modes - for
example, cases where autonegotiation would fail even though SQI reports
a good link. In practice, such scenarios can only be investigated in
fixed-link mode; here, MSE can provide an empirically estimated value
indicating conditions under which autonegotiation would not succeed.

Example output with current implementation:
root@DistroKit:~ ethtool lan1
Settings for lan1:
...
        Speed: 1000Mb/s
        Duplex: Full
...
        Link detected: yes
        SQI: 5/7
        MSE: 3/127 (channel: worst)

root@DistroKit:~ ethtool --show-mse lan1
MSE diagnostics for lan1:
MSE Configuration:
        Max Average MSE: 127
        Refresh Rate: 2000000 ps
        Symbols per Sample: 250
        Supported capabilities: average channel-a channel-b channel-c
                                channel-d worst

MSE Snapshot (Channel: a):
        Average MSE: 4

MSE Snapshot (Channel: b):
        Average MSE: 3

MSE Snapshot (Channel: c):
        Average MSE: 2

MSE Snapshot (Channel: d):
        Average MSE: 3

[1] https://opensig.org/wp-content/uploads/2024/01/Advanced_PHY_features_for_automotive_Ethernet_V1.0.pdf

Oleksij Rempel (5):
  ethtool: introduce core UAPI and driver API for PHY MSE diagnostics
  ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access
  ethtool: netlink: add lightweight MSE reporting to LINKSTATE_GET
  net: phy: micrel: add MSE interface support for KSZ9477 family
  net: phy: dp83td510: add MSE interface support for 10BASE-T1L

 Documentation/netlink/specs/ethtool.yaml      | 166 ++++++++
 Documentation/networking/ethtool-netlink.rst  |  74 ++++
 drivers/net/phy/dp83td510.c                   |  44 +++
 drivers/net/phy/micrel.c                      |  76 ++++
 include/linux/phy.h                           | 126 ++++++
 .../uapi/linux/ethtool_netlink_generated.h    |  94 +++++
 net/ethtool/Makefile                          |   2 +-
 net/ethtool/linkstate.c                       |  84 ++++
 net/ethtool/mse.c                             | 362 ++++++++++++++++++
 net/ethtool/netlink.c                         |  10 +
 net/ethtool/netlink.h                         |   2 +
 11 files changed, 1039 insertions(+), 1 deletion(-)
 create mode 100644 net/ethtool/mse.c

--
2.39.5


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

end of thread, other threads:[~2025-08-15  0:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-13  8:14 [PATCH net-next v1 0/5] ethtool: introduce PHY MSE diagnostics UAPI and drivers Oleksij Rempel
2025-08-13  8:14 ` [PATCH net-next v1 1/5] ethtool: introduce core UAPI and driver API for PHY MSE diagnostics Oleksij Rempel
2025-08-13  8:14 ` [PATCH net-next v1 2/5] ethtool: netlink: add ETHTOOL_MSG_MSE_GET and wire up PHY MSE access Oleksij Rempel
2025-08-13  8:14 ` [PATCH net-next v1 3/5] ethtool: netlink: add lightweight MSE reporting to LINKSTATE_GET Oleksij Rempel
2025-08-13  8:14 ` [PATCH net-next v1 4/5] net: phy: micrel: add MSE interface support for KSZ9477 family Oleksij Rempel
2025-08-13  8:14 ` [PATCH net-next v1 5/5] net: phy: dp83td510: add MSE interface support for 10BASE-T1L Oleksij Rempel
2025-08-15  0:34 ` [PATCH net-next v1 0/5] ethtool: introduce PHY MSE diagnostics UAPI and drivers Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.