Re: [PATCH net-next 5/5] net: dsa: mxl862xx: add SerDes ethtool statistics

From: Daniel Golle

Date: Tue May 19 2026 - 18:55:06 EST


On Tue, May 19, 2026 at 09:40:05PM +0300, Vladimir Oltean wrote:
> On Tue, May 19, 2026 at 06:39:29PM +0100, Daniel Golle wrote:
> > +/* --- SerDes ethtool statistics --- */
> > +
> > +static const char mxl862xx_serdes_stats[][ETH_GSTRING_LEN] = {
> > + "serdes_tx_main",
> > + "serdes_tx_pre",
> > + "serdes_tx_post",
> > + "serdes_tx_iboost",
> > + "serdes_tx_vboost",
> > + "serdes_tx_vboost_en",
> > + "serdes_rx_att",
> > + "serdes_rx_vga1",
> > + "serdes_rx_vga2",
> > + "serdes_rx_ctle_boost",
> > + "serdes_rx_ctle_pole",
> > + "serdes_rx_dfe_tap1",
> > + "serdes_rx_dfe_bypass",
> > + "serdes_rx_adapt_mode",
> > + "serdes_rx_adapt_sel",
> > + "serdes_rx_signal",
> > + "serdes_pma_link",
> > + "serdes_link_fault",
> > + "serdes_in_reset",
> > +};
>
> Which of these are statistics counters, and which of _those_ are
> Ethernet-specific (SerDes may be multiprotocol, also supporting PCIe
> etc, and the info above is all protocol-agnostic)?

The SerDes is basically a DW XPCS but exposed only via the firmware.
So it's Ethernet-only. This is a external switch IC, and while it does
have a very small CPU, that CPU only has low speed peripherals, no
USB3, PCIe, SATA what-so-ever other SerDes you may think of.

But true, the values themselves are not very Ethernet-specific, most
can probably be used to describe any generic LVDS.

> I'm trying to hint at the fact that ethtool is not the right interface
> for presenting such information. Intuitively, I would suggest we need to
> put head to head various SerDes designs and present to Vinod Koul a
> netlink UAPI for monitoring purposes.

I must admit I kinda expected a push-back on that one, which is also
why I put the patch last in the series, so the rest of the series can
be merged without the stats.

The firmware also exposes self-test via PRBS and BERT, which also
doesn't fit the ethtool self-test model very well (which currently
supports only MAC-level and PHY-level loopback tests, with no way to
represent the PCS/SerDes-level)...