123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- From a4238f6ce151afa331375d74a5033b76da637644 Mon Sep 17 00:00:00 2001
- From: "Russell King (Oracle)" <[email protected]>
- Date: Tue, 16 Nov 2021 10:06:58 +0000
- Subject: [PATCH] net: mtk_eth_soc: use phylink_generic_validate()
- mtk_eth_soc has no special behaviour in its validation implementation,
- so can be switched to phylink_generic_validate().
- Signed-off-by: Russell King (Oracle) <[email protected]>
- Signed-off-by: David S. Miller <[email protected]>
- ---
- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 53 ++-------------------
- 1 file changed, 4 insertions(+), 49 deletions(-)
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- @@ -573,56 +573,8 @@ static void mtk_mac_link_up(struct phyli
- mtk_w32(mac->hw, mcr, MTK_MAC_MCR(mac->id));
- }
-
- -static void mtk_validate(struct phylink_config *config,
- - unsigned long *supported,
- - struct phylink_link_state *state)
- -{
- - __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
- -
- - phylink_set_port_modes(mask);
- - phylink_set(mask, Autoneg);
- -
- - switch (state->interface) {
- - case PHY_INTERFACE_MODE_TRGMII:
- - phylink_set(mask, 1000baseT_Full);
- - break;
- - case PHY_INTERFACE_MODE_1000BASEX:
- - phylink_set(mask, 1000baseX_Full);
- - break;
- - case PHY_INTERFACE_MODE_2500BASEX:
- - phylink_set(mask, 2500baseX_Full);
- - break;
- - case PHY_INTERFACE_MODE_GMII:
- - case PHY_INTERFACE_MODE_RGMII:
- - case PHY_INTERFACE_MODE_RGMII_ID:
- - case PHY_INTERFACE_MODE_RGMII_RXID:
- - case PHY_INTERFACE_MODE_RGMII_TXID:
- - phylink_set(mask, 1000baseT_Half);
- - fallthrough;
- - case PHY_INTERFACE_MODE_SGMII:
- - phylink_set(mask, 1000baseT_Full);
- - phylink_set(mask, 1000baseX_Full);
- - fallthrough;
- - case PHY_INTERFACE_MODE_MII:
- - case PHY_INTERFACE_MODE_RMII:
- - case PHY_INTERFACE_MODE_REVMII:
- - default:
- - phylink_set(mask, 10baseT_Half);
- - phylink_set(mask, 10baseT_Full);
- - phylink_set(mask, 100baseT_Half);
- - phylink_set(mask, 100baseT_Full);
- - break;
- - }
- -
- - phylink_set(mask, Pause);
- - phylink_set(mask, Asym_Pause);
- -
- - linkmode_and(supported, supported, mask);
- - linkmode_and(state->advertising, state->advertising, mask);
- -}
- -
- static const struct phylink_mac_ops mtk_phylink_ops = {
- - .validate = mtk_validate,
- + .validate = phylink_generic_validate,
- .mac_pcs_get_state = mtk_mac_pcs_get_state,
- .mac_an_restart = mtk_mac_an_restart,
- .mac_config = mtk_mac_config,
- @@ -3323,6 +3275,9 @@ static int mtk_add_mac(struct mtk_eth *e
-
- mac->phylink_config.dev = ð->netdev[id]->dev;
- mac->phylink_config.type = PHYLINK_NETDEV;
- + mac->phylink_config.mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE |
- + MAC_10 | MAC_100 | MAC_1000 | MAC_2500FD;
- +
- __set_bit(PHY_INTERFACE_MODE_MII,
- mac->phylink_config.supported_interfaces);
- __set_bit(PHY_INTERFACE_MODE_GMII,
|