mbox series

[net-next,v4,0/8] Introduce unified and structured PHY

Message ID 20241221081530.3003900-1-o.rempel@pengutronix.de (mailing list archive)
Headers show
Series Introduce unified and structured PHY | expand

Message

Oleksij Rempel Dec. 21, 2024, 8:15 a.m. UTC
This patch set introduces a unified and well-structured interface for
reporting PHY statistics. Instead of relying on arbitrary strings in PHY
drivers, this interface provides a consistent and structured way to
expose PHY statistics to userspace via ethtool.

The initial groundwork for this effort was laid by Jakub Kicinski, who
contributed patches to plumb PHY statistics to drivers and added support
for structured statistics in ethtool. Building on Jakub's work, I tested
the implementation with several PHYs, addressed a few issues, and added
support for statistics in two specific PHY drivers.

changes are tracked in separate patches.

Jakub Kicinski (2):
  net: ethtool: plumb PHY stats to PHY drivers
  net: ethtool: add support for structured PHY statistics

Oleksij Rempel (6):
  ethtool: linkstate: migrate linkstate functions to support multi-PHY
    setups
  Documentation: networking: update PHY error counter diagnostics in
    twisted pair guide
  net: phy: introduce optional polling interface for PHY statistics
  ethtool: add helper to prevent invalid statistics exposure to
    userspace
  net: phy: dp83td510: add statistics support
  net: phy: dp83tg720: add statistics support

 .../twisted_pair_layer1_diagnostics.rst       |  39 +++--
 Documentation/networking/ethtool-netlink.rst  |   1 +
 drivers/net/phy/dp83td510.c                   | 112 ++++++++++++
 drivers/net/phy/dp83tg720.c                   | 161 ++++++++++++++++++
 drivers/net/phy/phy.c                         |  20 +++
 include/linux/ethtool.h                       |  39 +++++
 include/linux/phy.h                           |  97 +++++++++++
 include/uapi/linux/ethtool.h                  |   2 +
 include/uapi/linux/ethtool_netlink.h          |  14 ++
 net/ethtool/linkstate.c                       |  25 ++-
 net/ethtool/netlink.h                         |   1 +
 net/ethtool/stats.c                           |  54 ++++++
 net/ethtool/strset.c                          |   5 +
 13 files changed, 550 insertions(+), 20 deletions(-)

--
2.39.5