OSDN Git Service

net: mtk_eth_soc: remove interface checks in mtk_validate()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 16 Nov 2021 10:06:48 +0000 (10:06 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Nov 2021 11:23:39 +0000 (11:23 +0000)
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>
drivers/net/ethernet/mediatek/mtk_eth_soc.c

index 7f62298..3187259 100644 (file)
@@ -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);