From: Paolo Abeni Date: Tue, 19 Nov 2024 12:27:50 +0000 (+0100) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net X-Git-Tag: microblaze-v6.16~599^2 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=dd7207838d38780b51e4690ee508ab2d5057e099;p=linux-2.6-microblaze.git Merge git://git./linux/kernel/git/netdev/net Merge in late fixes to prepare for the 6.13 net-next PR. Conflicts: include/linux/phy.h 41ffcd95015f net: phy: fix phylib's dual eee_enabled 721aa69e708b net: phy: convert eee_broken_modes to a linkmode bitmap https://lore.kernel.org/all/20241118135512.1039208b@canb.auug.org.au/ drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c 2160428bcb20 net: txgbe: fix null pointer to pcs 2160428bcb20 net: txgbe: remove GPIO interrupt controller Adjacent commits: include/linux/phy.h 41ffcd95015f net: phy: fix phylib's dual eee_enabled 516a5f11eb97 net: phy: respect cached advertising when re-enabling EEE Signed-off-by: Paolo Abeni --- dd7207838d38780b51e4690ee508ab2d5057e099 diff --cc drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c index a5e4fe6c31c5,2e666f65aa82..1ae68f94dd49 --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c @@@ -162,8 -162,8 +162,8 @@@ static struct phylink_pcs *txgbe_phylin struct wx *wx = phylink_to_wx(config); struct txgbe *txgbe = wx->priv; - if (interface == PHY_INTERFACE_MODE_10GBASER) + if (wx->media_type != sp_media_copper) - return &txgbe->xpcs->pcs; + return txgbe->pcs; return NULL; } diff --cc drivers/net/phy/phy-c45.c index da5c15310d8c,ac987e5e82dc..96d0b3a5a9d3 --- a/drivers/net/phy/phy-c45.c +++ b/drivers/net/phy/phy-c45.c @@@ -1565,14 -1568,13 +1565,12 @@@ int genphy_c45_ethtool_set_eee(struct p phydev_warn(phydev, "At least some EEE link modes are not supported.\n"); return -EINVAL; } - } else { - adv = phydev->supported_eee; + linkmode_copy(phydev->advertising_eee, adv); + } else if (linkmode_empty(phydev->advertising_eee)) { + phy_advertise_eee_all(phydev); } - - linkmode_copy(phydev->advertising_eee, adv); } - phydev->eee_enabled = data->eee_enabled; - ret = genphy_c45_an_config_eee_aneg(phydev); if (ret > 0) { ret = phy_restart_aneg(phydev); diff --cc include/linux/phy.h index b8346db42727,44890cdf40a2..627e4a481fab --- a/include/linux/phy.h +++ b/include/linux/phy.h @@@ -721,9 -720,12 +720,8 @@@ struct phy_device /* used for eee validation and configuration*/ __ETHTOOL_DECLARE_LINK_MODE_MASK(supported_eee); __ETHTOOL_DECLARE_LINK_MODE_MASK(advertising_eee); - - /* Host supported PHY interface types. Should be ignored if empty. */ - DECLARE_PHY_INTERFACE_MASK(host_interfaces); - /* Energy efficient ethernet modes which should be prohibited */ - u32 eee_broken_modes; + __ETHTOOL_DECLARE_LINK_MODE_MASK(eee_broken_modes); - bool eee_enabled; bool enable_tx_lpi; struct eee_config eee_cfg;