Commit d9da2c87 authored by Jose Abreu's avatar Jose Abreu Committed by David S. Miller

net: stmmac: Limit max speeds of XGMAC if asked to

We may have some SoCs that can't achieve XGMAC max speed. Limit it if
asked to.
Signed-off-by: default avatarJose Abreu <joabreu@synopsys.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5f8475da
...@@ -831,8 +831,14 @@ static void stmmac_validate(struct phylink_config *config, ...@@ -831,8 +831,14 @@ static void stmmac_validate(struct phylink_config *config,
phylink_set(mask, 1000baseT_Full); phylink_set(mask, 1000baseT_Full);
phylink_set(mask, 1000baseX_Full); phylink_set(mask, 1000baseX_Full);
} else if (priv->plat->has_xgmac) { } else if (priv->plat->has_xgmac) {
if (!max_speed || (max_speed >= 2500)) {
phylink_set(mac_supported, 2500baseT_Full); phylink_set(mac_supported, 2500baseT_Full);
phylink_set(mac_supported, 2500baseX_Full);
}
if (!max_speed || (max_speed >= 5000)) {
phylink_set(mac_supported, 5000baseT_Full); phylink_set(mac_supported, 5000baseT_Full);
}
if (!max_speed || (max_speed >= 10000)) {
phylink_set(mac_supported, 10000baseSR_Full); phylink_set(mac_supported, 10000baseSR_Full);
phylink_set(mac_supported, 10000baseLR_Full); phylink_set(mac_supported, 10000baseLR_Full);
phylink_set(mac_supported, 10000baseER_Full); phylink_set(mac_supported, 10000baseER_Full);
...@@ -841,6 +847,7 @@ static void stmmac_validate(struct phylink_config *config, ...@@ -841,6 +847,7 @@ static void stmmac_validate(struct phylink_config *config,
phylink_set(mac_supported, 10000baseKX4_Full); phylink_set(mac_supported, 10000baseKX4_Full);
phylink_set(mac_supported, 10000baseKR_Full); phylink_set(mac_supported, 10000baseKR_Full);
} }
}
/* Half-Duplex can only work with single queue */ /* Half-Duplex can only work with single queue */
if (tx_cnt > 1) { if (tx_cnt > 1) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment