mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
ixgbe: E610: do not fill EEE lp_advertised from local PHY caps
ixgbe_get_eee_e610() fills kedata->lp_advertised from pcaps.eee_cap
returned by ixgbe_aci_get_phy_caps() with IXGBE_ACI_REPORT_ACTIVE_CFG.
That report mode (and the other IXGBE_ACI_REPORT_* modes) describe the
local PHY only, not the link partner. The X550 path uses a separate
FW_PHY_ACT_UD_2 activity for partner data; the E610 ACI has no
equivalent.
Leave lp_advertised zeroed via the existing linkmode_zero() and drop
the now-unused ixgbe_eee_cap_map[]. eee_active/eee_enabled are
unaffected (sourced from link.eee_status).
Fixes: b61dbdeff3 ("ixgbe: E610: add EEE support")
Signed-off-by: David Carlier <devnexen@gmail.com>
Reviewed-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20260507-jk-iwl-next-fix-eee-ixgbe-v1-1-62bc1d197d1d@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
c7ea0d2b4d
commit
1160428a8b
|
|
@ -3558,17 +3558,6 @@ static const struct {
|
|||
{ FW_PHY_ACT_UD_2_10G_KR_EEE, ETHTOOL_LINK_MODE_10000baseKR_Full_BIT},
|
||||
};
|
||||
|
||||
static const struct {
|
||||
u16 eee_cap_bit;
|
||||
u32 link_mode;
|
||||
} ixgbe_eee_cap_map[] = {
|
||||
{ IXGBE_ACI_PHY_EEE_EN_100BASE_TX, ETHTOOL_LINK_MODE_100baseT_Full_BIT },
|
||||
{ IXGBE_ACI_PHY_EEE_EN_1000BASE_T, ETHTOOL_LINK_MODE_1000baseT_Full_BIT },
|
||||
{ IXGBE_ACI_PHY_EEE_EN_10GBASE_T, ETHTOOL_LINK_MODE_10000baseT_Full_BIT },
|
||||
{ IXGBE_ACI_PHY_EEE_EN_5GBASE_T, ETHTOOL_LINK_MODE_5000baseT_Full_BIT },
|
||||
{ IXGBE_ACI_PHY_EEE_EN_2_5GBASE_T, ETHTOOL_LINK_MODE_2500baseT_Full_BIT },
|
||||
};
|
||||
|
||||
static int ixgbe_validate_keee(struct net_device *netdev,
|
||||
struct ethtool_keee *keee_requested)
|
||||
{
|
||||
|
|
@ -3645,7 +3634,6 @@ static int ixgbe_get_eee_e610(struct net_device *netdev,
|
|||
struct ixgbe_aci_cmd_get_phy_caps_data pcaps;
|
||||
struct ixgbe_hw *hw = &adapter->hw;
|
||||
struct ixgbe_link_status link;
|
||||
u16 eee_cap;
|
||||
int err;
|
||||
|
||||
linkmode_zero(kedata->lp_advertised);
|
||||
|
|
@ -3670,14 +3658,6 @@ static int ixgbe_get_eee_e610(struct net_device *netdev,
|
|||
if (kedata->eee_enabled)
|
||||
kedata->tx_lpi_timer = le16_to_cpu(pcaps.eee_entry_delay);
|
||||
|
||||
eee_cap = le16_to_cpu(pcaps.eee_cap);
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(ixgbe_eee_cap_map); i++) {
|
||||
if (eee_cap & ixgbe_eee_cap_map[i].eee_cap_bit)
|
||||
linkmode_set_bit(ixgbe_eee_cap_map[i].link_mode,
|
||||
kedata->lp_advertised);
|
||||
}
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(ixgbe_ls_map); i++) {
|
||||
if (hw->phy.eee_speeds_supported &
|
||||
ixgbe_ls_map[i].mac_speed)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user