@@ -1647,20 +1647,11 @@ static void gfar_configure_serdes(struct net_device *dev)
1647
1647
*/
1648
1648
static int init_phy (struct net_device * dev )
1649
1649
{
1650
- __ETHTOOL_DECLARE_LINK_MODE_MASK (mask ) = { 0 , };
1651
1650
struct gfar_private * priv = netdev_priv (dev );
1652
1651
phy_interface_t interface = priv -> interface ;
1653
1652
struct phy_device * phydev ;
1654
1653
struct ethtool_keee edata ;
1655
1654
1656
- linkmode_set_bit_array (phy_10_100_features_array ,
1657
- ARRAY_SIZE (phy_10_100_features_array ),
1658
- mask );
1659
- linkmode_set_bit (ETHTOOL_LINK_MODE_Autoneg_BIT , mask );
1660
- linkmode_set_bit (ETHTOOL_LINK_MODE_MII_BIT , mask );
1661
- if (priv -> device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT )
1662
- linkmode_set_bit (ETHTOOL_LINK_MODE_1000baseT_Full_BIT , mask );
1663
-
1664
1655
priv -> oldlink = 0 ;
1665
1656
priv -> oldspeed = 0 ;
1666
1657
priv -> oldduplex = -1 ;
@@ -1675,9 +1666,8 @@ static int init_phy(struct net_device *dev)
1675
1666
if (interface == PHY_INTERFACE_MODE_SGMII )
1676
1667
gfar_configure_serdes (dev );
1677
1668
1678
- /* Remove any features not supported by the controller */
1679
- linkmode_and (phydev -> supported , phydev -> supported , mask );
1680
- linkmode_copy (phydev -> advertising , phydev -> supported );
1669
+ if (!(priv -> device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT ))
1670
+ phy_set_max_speed (phydev , SPEED_100 );
1681
1671
1682
1672
/* Add support for flow control */
1683
1673
phy_support_asym_pause (phydev );
0 commit comments