forked from Minki/linux
amd-xgbe: Fixes for working with PHYs that support 2.5GbE
The driver has some missing functionality when operating in the mode that supports 2.5GbE. Fix the driver to fully recognize and support this speed. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
42d452dc4a
commit
ed3333fa6f
@ -1966,6 +1966,8 @@ static enum xgbe_mode xgbe_phy_get_baset_mode(struct xgbe_phy_data *phy_data,
|
||||
return XGBE_MODE_SGMII_100;
|
||||
case SPEED_1000:
|
||||
return XGBE_MODE_SGMII_1000;
|
||||
case SPEED_2500:
|
||||
return XGBE_MODE_KX_2500;
|
||||
case SPEED_10000:
|
||||
return XGBE_MODE_KR;
|
||||
default:
|
||||
@ -2109,6 +2111,9 @@ static bool xgbe_phy_use_baset_mode(struct xgbe_prv_data *pdata,
|
||||
case XGBE_MODE_SGMII_1000:
|
||||
return xgbe_phy_check_mode(pdata, mode,
|
||||
ADVERTISED_1000baseT_Full);
|
||||
case XGBE_MODE_KX_2500:
|
||||
return xgbe_phy_check_mode(pdata, mode,
|
||||
ADVERTISED_2500baseX_Full);
|
||||
case XGBE_MODE_KR:
|
||||
return xgbe_phy_check_mode(pdata, mode,
|
||||
ADVERTISED_10000baseT_Full);
|
||||
@ -2218,6 +2223,8 @@ static bool xgbe_phy_valid_speed_baset_mode(struct xgbe_phy_data *phy_data,
|
||||
case SPEED_100:
|
||||
case SPEED_1000:
|
||||
return true;
|
||||
case SPEED_2500:
|
||||
return (phy_data->port_mode == XGBE_PORT_MODE_NBASE_T);
|
||||
case SPEED_10000:
|
||||
return (phy_data->port_mode == XGBE_PORT_MODE_10GBASE_T);
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user