net: mtk_eth_soc: remove interface checks in mtk_validate()
As phylink checks the interface mode against the supported_interfaces bitmap, we no longer need to validate the interface mode, nor handle PHY_INTERFACE_MODE_NA in the validation function. Remove these to simplify the implementation. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
83800d29f0
commit
db81ca1538
@ -467,24 +467,8 @@ static void mtk_validate(struct phylink_config *config,
|
||||
unsigned long *supported,
|
||||
struct phylink_link_state *state)
|
||||
{
|
||||
struct mtk_mac *mac = container_of(config, struct mtk_mac,
|
||||
phylink_config);
|
||||
__ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
|
||||
|
||||
if (state->interface != PHY_INTERFACE_MODE_NA &&
|
||||
state->interface != PHY_INTERFACE_MODE_MII &&
|
||||
state->interface != PHY_INTERFACE_MODE_GMII &&
|
||||
!(MTK_HAS_CAPS(mac->hw->soc->caps, MTK_RGMII) &&
|
||||
phy_interface_mode_is_rgmii(state->interface)) &&
|
||||
!(MTK_HAS_CAPS(mac->hw->soc->caps, MTK_TRGMII) &&
|
||||
!mac->id && state->interface == PHY_INTERFACE_MODE_TRGMII) &&
|
||||
!(MTK_HAS_CAPS(mac->hw->soc->caps, MTK_SGMII) &&
|
||||
(state->interface == PHY_INTERFACE_MODE_SGMII ||
|
||||
phy_interface_mode_is_8023z(state->interface)))) {
|
||||
linkmode_zero(supported);
|
||||
return;
|
||||
}
|
||||
|
||||
phylink_set_port_modes(mask);
|
||||
phylink_set(mask, Autoneg);
|
||||
|
||||
@ -511,7 +495,6 @@ static void mtk_validate(struct phylink_config *config,
|
||||
case PHY_INTERFACE_MODE_MII:
|
||||
case PHY_INTERFACE_MODE_RMII:
|
||||
case PHY_INTERFACE_MODE_REVMII:
|
||||
case PHY_INTERFACE_MODE_NA:
|
||||
default:
|
||||
phylink_set(mask, 10baseT_Half);
|
||||
phylink_set(mask, 10baseT_Full);
|
||||
@ -520,23 +503,6 @@ static void mtk_validate(struct phylink_config *config,
|
||||
break;
|
||||
}
|
||||
|
||||
if (state->interface == PHY_INTERFACE_MODE_NA) {
|
||||
if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_SGMII)) {
|
||||
phylink_set(mask, 1000baseT_Full);
|
||||
phylink_set(mask, 1000baseX_Full);
|
||||
phylink_set(mask, 2500baseX_Full);
|
||||
}
|
||||
if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_RGMII)) {
|
||||
phylink_set(mask, 1000baseT_Full);
|
||||
phylink_set(mask, 1000baseT_Half);
|
||||
phylink_set(mask, 1000baseX_Full);
|
||||
}
|
||||
if (MTK_HAS_CAPS(mac->hw->soc->caps, MTK_GEPHY)) {
|
||||
phylink_set(mask, 1000baseT_Full);
|
||||
phylink_set(mask, 1000baseT_Half);
|
||||
}
|
||||
}
|
||||
|
||||
phylink_set(mask, Pause);
|
||||
phylink_set(mask, Asym_Pause);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user