OSDN Git Service

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 efabbfa..43d6985 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);