]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: phy: dp83td510: add MSE interface support for 10BASE-T1L
authorOleksij Rempel <o.rempel@pengutronix.de>
Mon, 27 Oct 2025 12:28:01 +0000 (13:28 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 4 Nov 2025 02:32:27 +0000 (18:32 -0800)
commitfd93ed77efe4735cd2b9a3fbccd5e199ced19bba
tree6feaf3edefd9b03bcfbf27d17b15c72f0edc7dce
parent335a9660e141349d7751b3b880d7531ea401a8db
net: phy: dp83td510: add MSE interface support for 10BASE-T1L

Implement get_mse_capability() and get_mse_snapshot() for the DP83TD510E
to expose its Mean Square Error (MSE) register via the new PHY MSE
UAPI.

The DP83TD510E does not document any peak MSE values; it only exposes
a single average MSE register used internally to derive SQI. This
implementation therefore advertises only PHY_MSE_CAP_AVG, along with
LINK and channel-A selectors. Scaling is fixed to 0xFFFF, and the
refresh interval/number of symbols are estimated from 10BASE-T1L
symbol rate (7.5 MBd) and typical diagnostic intervals (~1 ms).

For 10BASE-T1L deployments, SQI is a reliable indicator of link
modulation quality once the link is established, but it does not
indicate whether autonegotiation pulses will be correctly received
in marginal conditions. MSE provides a direct measurement of slicer
error rate that can be used to evaluate if autonegotiation is likely
to succeed under a given cable length and condition. In practice,
testing such scenarios often requires forcing a fixed-link setup to
isolate MSE behaviour from the autonegotiation process.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20251027122801.982364-5-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/dp83td510.c