Re: [PATCH net-next v4 02/23] net: phy: add genphy_c45_read_eee_abilities() function

From: Oleksij Rempel
Date: Mon Feb 06 2023 - 05:50:17 EST


Hi Vladimir,

On Sat, Feb 04, 2023 at 02:54:18AM +0200, Vladimir Oltean wrote:
> On Wed, Feb 01, 2023 at 03:58:24PM +0100, Oleksij Rempel wrote:

[....]

> > +static const int phy_eee_100_10000_features_array[6] = {
>
> Don't need array length unless the array is sparse, which isn't the case here.
>
> > + ETHTOOL_LINK_MODE_100baseT_Full_BIT,
> > + ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
> > + ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
> > + ETHTOOL_LINK_MODE_1000baseKX_Full_BIT,
> > + ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT,
> > + ETHTOOL_LINK_MODE_10000baseKR_Full_BIT,
>
> Why stop at 10GBase-KR? Register 3.20 defines EEE abilities up to 100G
> (for speeds >10G, there seem to be 2 modes, "deep sleep" or "fast wake",
> with "deep sleep" being essentially equivalent to the only mode
> available for <=10G modes).

Hm,

If i take only deep sleep, missing modes are:
3.20.13 100GBASE-R deep sleep
family of Physical Layer devices using 100GBASE-R encoding:
100000baseCR4_Full
100000baseKR4_Full
100000baseCR10_Full (missing)
100000baseSR4_Full
100000baseSR10_Full (missing)
100000baseLR4_ER4_Full

3.20.11 25GBASE-R deep sleep
family of Physical Layer devices using 25GBASE-R encoding:
25000baseCR_Full
25000baseER_Full (missing)
25000baseKR_Full
25000baseLR_Full (missing)
25000baseSR_Full

3.20.9 40GBASE-R deep sleep
family of Physical Layer devices using 40GBASE-R encoding:
40000baseKR4_Full
40000baseCR4_Full
40000baseSR4_Full
40000baseLR4_Full

3.20.7 40GBASE-T
40000baseT_Full (missing)

I have no experience with modes > 1Gbit. Do all of them correct? What
should we do with missing modes? Or may be it make sense to implement >
10G modes separately?

Regards,
Oleksij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |