|
@@ -166,6 +166,8 @@ static int ixgbe_get_settings(struct net_device *netdev,
|
|
/* set the supported link speeds */
|
|
/* set the supported link speeds */
|
|
if (supported_link & IXGBE_LINK_SPEED_10GB_FULL)
|
|
if (supported_link & IXGBE_LINK_SPEED_10GB_FULL)
|
|
ecmd->supported |= SUPPORTED_10000baseT_Full;
|
|
ecmd->supported |= SUPPORTED_10000baseT_Full;
|
|
|
|
+ if (supported_link & IXGBE_LINK_SPEED_2_5GB_FULL)
|
|
|
|
+ ecmd->supported |= SUPPORTED_2500baseX_Full;
|
|
if (supported_link & IXGBE_LINK_SPEED_1GB_FULL)
|
|
if (supported_link & IXGBE_LINK_SPEED_1GB_FULL)
|
|
ecmd->supported |= SUPPORTED_1000baseT_Full;
|
|
ecmd->supported |= SUPPORTED_1000baseT_Full;
|
|
if (supported_link & IXGBE_LINK_SPEED_100_FULL)
|
|
if (supported_link & IXGBE_LINK_SPEED_100_FULL)
|
|
@@ -177,6 +179,8 @@ static int ixgbe_get_settings(struct net_device *netdev,
|
|
ecmd->advertising |= ADVERTISED_100baseT_Full;
|
|
ecmd->advertising |= ADVERTISED_100baseT_Full;
|
|
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL)
|
|
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL)
|
|
ecmd->advertising |= ADVERTISED_10000baseT_Full;
|
|
ecmd->advertising |= ADVERTISED_10000baseT_Full;
|
|
|
|
+ if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_2_5GB_FULL)
|
|
|
|
+ ecmd->advertising |= ADVERTISED_2500baseX_Full;
|
|
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL)
|
|
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL)
|
|
ecmd->advertising |= ADVERTISED_1000baseT_Full;
|
|
ecmd->advertising |= ADVERTISED_1000baseT_Full;
|
|
} else {
|
|
} else {
|
|
@@ -286,6 +290,9 @@ static int ixgbe_get_settings(struct net_device *netdev,
|
|
case IXGBE_LINK_SPEED_10GB_FULL:
|
|
case IXGBE_LINK_SPEED_10GB_FULL:
|
|
ethtool_cmd_speed_set(ecmd, SPEED_10000);
|
|
ethtool_cmd_speed_set(ecmd, SPEED_10000);
|
|
break;
|
|
break;
|
|
|
|
+ case IXGBE_LINK_SPEED_2_5GB_FULL:
|
|
|
|
+ ethtool_cmd_speed_set(ecmd, SPEED_2500);
|
|
|
|
+ break;
|
|
case IXGBE_LINK_SPEED_1GB_FULL:
|
|
case IXGBE_LINK_SPEED_1GB_FULL:
|
|
ethtool_cmd_speed_set(ecmd, SPEED_1000);
|
|
ethtool_cmd_speed_set(ecmd, SPEED_1000);
|
|
break;
|
|
break;
|