mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 12:36:45 +07:00
ixgbe: Support 2.5Gb and 5Gb speed
Though not advertised through ethtool, if the link partner advertises a 2.5Gb or 5Gb connection, and the adapter supports it, allow the speed to be used. Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Tested-by: Krishneil Singh <krishneil.k.singh@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
b973154a22
commit
1dc0eb75a8
@ -340,6 +340,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_5GB_FULL:
|
||||||
|
ethtool_cmd_speed_set(ecmd, SPEED_5000);
|
||||||
|
break;
|
||||||
case IXGBE_LINK_SPEED_2_5GB_FULL:
|
case IXGBE_LINK_SPEED_2_5GB_FULL:
|
||||||
ethtool_cmd_speed_set(ecmd, SPEED_2500);
|
ethtool_cmd_speed_set(ecmd, SPEED_2500);
|
||||||
break;
|
break;
|
||||||
|
@ -768,9 +768,7 @@ s32 ixgbe_setup_phy_link_speed_generic(struct ixgbe_hw *hw,
|
|||||||
ixgbe_link_speed speed,
|
ixgbe_link_speed speed,
|
||||||
bool autoneg_wait_to_complete)
|
bool autoneg_wait_to_complete)
|
||||||
{
|
{
|
||||||
|
/* Clear autoneg_advertised and set new values based on input link
|
||||||
/*
|
|
||||||
* Clear autoneg_advertised and set new values based on input link
|
|
||||||
* speed.
|
* speed.
|
||||||
*/
|
*/
|
||||||
hw->phy.autoneg_advertised = 0;
|
hw->phy.autoneg_advertised = 0;
|
||||||
@ -778,6 +776,12 @@ s32 ixgbe_setup_phy_link_speed_generic(struct ixgbe_hw *hw,
|
|||||||
if (speed & IXGBE_LINK_SPEED_10GB_FULL)
|
if (speed & IXGBE_LINK_SPEED_10GB_FULL)
|
||||||
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_10GB_FULL;
|
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_10GB_FULL;
|
||||||
|
|
||||||
|
if (speed & IXGBE_LINK_SPEED_5GB_FULL)
|
||||||
|
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_5GB_FULL;
|
||||||
|
|
||||||
|
if (speed & IXGBE_LINK_SPEED_2_5GB_FULL)
|
||||||
|
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_2_5GB_FULL;
|
||||||
|
|
||||||
if (speed & IXGBE_LINK_SPEED_1GB_FULL)
|
if (speed & IXGBE_LINK_SPEED_1GB_FULL)
|
||||||
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_1GB_FULL;
|
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_1GB_FULL;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user