Some ethernet PHYs allow access to raw TDR data in addition to summary diagnostics information. Add support for retrieving this data via netlink ethtool. The basic structure in the core is the same as for normal phy diagnostics, the PHY driver simply uses different helpers to fill the netlink message with different data.
There is a graphical tool under development, as well a ethtool(1) which can dump the data as text and JSON. A patched ethtool(1) can be found in https://github.com/lunn/ethtool.git feature/cable-test-v5 Thanks for Chris Healy for lots of testing. v2: See the individual patches but: Pass distances in centimeters, not meters Allow the PHY to round distances to what it supports and report what it actually used along with the results. Make the Marvell PHY use steps a multiple of 0.805 meters, its native step size. Andrew Lunn (6): net: ethtool: Add attributes for cable test TDR data net: ethtool: Add generic parts of cable test TDR net: ethtool: Add helpers for cable test TDR data net: phy: marvell: Add support for amplitude graph net: ethtool: Allow PHY cable test TDR data to configured net : phy: marvell: Speedup TDR data retrieval by only changing page once Documentation/networking/ethtool-netlink.rst | 81 ++++++ drivers/net/phy/marvell.c | 286 ++++++++++++++++++- drivers/net/phy/nxp-tja11xx.c | 2 +- drivers/net/phy/phy.c | 67 ++++- include/linux/ethtool_netlink.h | 25 +- include/linux/phy.h | 17 ++ include/uapi/linux/ethtool_netlink.h | 67 +++++ net/ethtool/cabletest.c | 209 +++++++++++++- net/ethtool/netlink.c | 5 + net/ethtool/netlink.h | 1 + 10 files changed, 747 insertions(+), 13 deletions(-) -- 2.27.0.rc0