net: phylink: Allow 2.5BASE-T, 5GBASE-T and 10GBASE-T for the 10G link modes
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 16 Jan 2020 17:36:56 +0000 (19:36 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Jan 2020 09:06:47 +0000 (10:06 +0100)
For some reason, PHYLINK does not put the copper modes for 802.3bz
(NBASE-T) and 802.3an-2006 (10GBASE-T) in the PHY's supported mask, when
the PHY-MAC connection is a 10G-capable one (10GBase-KR, 10GBase-R,
USXGMII). One possible way through which the cable side can work at the
lower speed is by having the PHY emit PAUSE frames towards the MAC. So
fix that omission.

Also include the 2500Base-X fiber mode in this list while we're at it.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phylink.c

index efabbfa4a6d3bbfbf873c06090a11519625e229a..43d6985fb2f1d1cad0fca64acbfd94144f0ab52d 100644 (file)
@@ -307,6 +307,10 @@ static int phylink_parse_mode(struct phylink *pl, struct fwnode_handle *fwnode)
                        phylink_set(pl->supported, 1000baseT_Half);
                        phylink_set(pl->supported, 1000baseT_Full);
                        phylink_set(pl->supported, 1000baseX_Full);
+                       phylink_set(pl->supported, 2500baseT_Full);
+                       phylink_set(pl->supported, 2500baseX_Full);
+                       phylink_set(pl->supported, 5000baseT_Full);
+                       phylink_set(pl->supported, 10000baseT_Full);
                        phylink_set(pl->supported, 10000baseKR_Full);
                        phylink_set(pl->supported, 10000baseCR_Full);
                        phylink_set(pl->supported, 10000baseSR_Full);