Hi Oleksij, On Friday, August 15, 2025 08:35 CEST, Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote: > Implement get_mse_config() 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@xxxxxxxxxxxxxx> [...] > +static int dp83td510_get_mse_snapshot(struct phy_device *phydev, u32 channel, > + struct phy_mse_snapshot *snapshot) > +{ > + int ret; > + > + if (channel != PHY_MSE_CHANNEL_LINK && > + channel != PHY_MSE_CHANNEL_A) > + return -EOPNOTSUPP; The doc in patch 1 says : > + * Link-wide mode: > + * - Some PHYs only expose a link-wide aggregate MSE, or cannot map their > + * measurement to a specific channel/pair (e.g. 100BASE-TX when MDI/MDI-X > + * resolution is unknown). In that case, callers must use the LINK selector. The way I understand that is that PHYs will report either channel-specific values or link-wide values. Is that correct or are both valid ? In BaseT1 this is the same thing, but maybe for consistency, we should report either channel values or link-wide values ? Maxime