[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1df-68a2e100-1-20bf1840@149731379>
Date: Mon, 18 Aug 2025 10:15:56 +0200
From: "Maxime Chevallier" <maxime.chevallier@...tlin.com>
To: "Oleksij Rempel" <o.rempel@...gutronix.de>
Cc: "Andrew Lunn" <andrew@...n.ch>, "Jakub Kicinski" <kuba@...nel.org>, David S. Miller <davem@...emloft.net>, "Eric Dumazet" <edumazet@...gle.com>, "Paolo Abeni" <pabeni@...hat.com>, "Simon Horman" <horms@...nel.org>, "Donald Hunter" <donald.hunter@...il.com>, "Jonathan Corbet" <corbet@....net>, "Heiner Kallweit" <hkallweit1@...il.com>, "Russell King" <linux@...linux.org.uk>, "Kory Maincent" <kory.maincent@...tlin.com>, "Nishanth Menon" <nm@...com>, kernel@...gutronix.de, linux-kernel@...r.kernel.org, netdev@...r.kernel.org, UNGLinuxDriver@...rochip.com, linux-doc@...r.kernel.org, "Michal Kubecek" <mkubecek@...e.cz>, "Roan van Dijk" <roan@...tonic.nl>
Subject: Re: [PATCH net-next v2 5/5] net: phy: dp83td510: add MSE interface support for
10BASE-T1L
Hi Oleksij,
On Friday, August 15, 2025 08:35 CEST, Oleksij Rempel <o.rempel@...gutronix.de> 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@...gutronix.de>
[...]
> +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
Powered by blists - more mailing lists