mirror of
				https://github.com/immortalwrt/immortalwrt.git
				synced 2025-10-30 07:49:55 +08:00 
			
		
		
		
	 8103b79776
			
		
	
	8103b79776
	
	
	
		
			
			https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.114 Removed upstreamed: /target/linux/generic/backport-6.6/540-v6.12-ksmbd-browse-interfaces-list-on-FSCTL_QUERY_INTERFACE_INFO.patch merged upstream with commit: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.114&id=499089376206f3f7f09d6852b3ec92f2674d24bb All other patches automatically rebased. Build system: bcm4908 Build system: bcm53xx Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20434 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From e340bff27e63ed61a1e9895bed546107859e48a7 Mon Sep 17 00:00:00 2001
 | |
| From: Heiner Kallweit <hkallweit1@gmail.com>
 | |
| Date: Fri, 8 Nov 2024 08:08:24 +0100
 | |
| Subject: [PATCH] r8169: copy vendor driver 2.5G/5G EEE advertisement
 | |
|  constraints
 | |
| 
 | |
| Vendor driver r8125 doesn't advertise 2.5G EEE on RTL8125A, and r8126
 | |
| doesn't advertise 5G EEE. Likely there are compatibility issues,
 | |
| therefore do the same in r8169.
 | |
| With this change we don't have to disable 2.5G EEE advertisement in
 | |
| rtl8125a_config_eee_phy() any longer.
 | |
| We use new phylib accessor phy_set_eee_broken() to mark the respective
 | |
| EEE modes as broken.
 | |
| 
 | |
| Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
 | |
| Link: https://patch.msgid.link/ce185e10-8a2f-4cf8-a49b-fd8fb3c3c8a1@gmail.com
 | |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | |
| ---
 | |
|  drivers/net/ethernet/realtek/r8169_main.c       |  6 ++++++
 | |
|  drivers/net/ethernet/realtek/r8169_phy_config.c | 16 ++++------------
 | |
|  2 files changed, 10 insertions(+), 12 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/ethernet/realtek/r8169_main.c
 | |
| +++ b/drivers/net/ethernet/realtek/r8169_main.c
 | |
| @@ -5238,6 +5238,11 @@ static int r8169_mdio_register(struct rt
 | |
|  			      tp->phydev->supported_eee);
 | |
|  	phy_support_asym_pause(tp->phydev);
 | |
|  
 | |
| +	/* mimic behavior of r8125/r8126 vendor drivers */
 | |
| +	if (tp->mac_version == RTL_GIGA_MAC_VER_61)
 | |
| +		tp->phydev->eee_broken_modes |= MDIO_EEE_2_5GT;
 | |
| +	tp->phydev->eee_broken_modes |= MDIO_EEE_5GT;
 | |
| +
 | |
|  	/* PHY will be woken up in rtl_open() */
 | |
|  	phy_suspend(tp->phydev);
 | |
|  
 | |
| --- a/drivers/net/ethernet/realtek/r8169_phy_config.c
 | |
| +++ b/drivers/net/ethernet/realtek/r8169_phy_config.c
 | |
| @@ -96,15 +96,7 @@ static void rtl8125_common_config_eee_ph
 | |
|  	phy_modify_paged(phydev, 0xa4a, 0x11, 0x0200, 0x0000);
 | |
|  }
 | |
|  
 | |
| -static void rtl8125a_config_eee_phy(struct phy_device *phydev)
 | |
| -{
 | |
| -	rtl8168g_config_eee_phy(phydev);
 | |
| -	/* disable EEE at 2.5Gbps */
 | |
| -	phy_modify_paged(phydev, 0xa6d, 0x12, 0x0001, 0x0000);
 | |
| -	rtl8125_common_config_eee_phy(phydev);
 | |
| -}
 | |
| -
 | |
| -static void rtl8125b_config_eee_phy(struct phy_device *phydev)
 | |
| +static void rtl8125_config_eee_phy(struct phy_device *phydev)
 | |
|  {
 | |
|  	rtl8168g_config_eee_phy(phydev);
 | |
|  	rtl8125_common_config_eee_phy(phydev);
 | |
| @@ -1066,7 +1058,7 @@ static void rtl8125a_2_hw_phy_config(str
 | |
|  	rtl8168g_enable_gphy_10m(phydev);
 | |
|  
 | |
|  	rtl8168g_disable_aldps(phydev);
 | |
| -	rtl8125a_config_eee_phy(phydev);
 | |
| +	rtl8125_config_eee_phy(phydev);
 | |
|  }
 | |
|  
 | |
|  static void rtl8125b_hw_phy_config(struct rtl8169_private *tp,
 | |
| @@ -1106,7 +1098,7 @@ static void rtl8125b_hw_phy_config(struc
 | |
|  
 | |
|  	rtl8125_legacy_force_mode(phydev);
 | |
|  	rtl8168g_disable_aldps(phydev);
 | |
| -	rtl8125b_config_eee_phy(phydev);
 | |
| +	rtl8125_config_eee_phy(phydev);
 | |
|  }
 | |
|  
 | |
|  static void rtl8125d_hw_phy_config(struct rtl8169_private *tp,
 | |
| @@ -1116,7 +1108,7 @@ static void rtl8125d_hw_phy_config(struc
 | |
|  	rtl8168g_enable_gphy_10m(phydev);
 | |
|  	rtl8125_legacy_force_mode(phydev);
 | |
|  	rtl8168g_disable_aldps(phydev);
 | |
| -	rtl8125b_config_eee_phy(phydev);
 | |
| +	rtl8125_config_eee_phy(phydev);
 | |
|  }
 | |
|  
 | |
|  static void rtl8126a_hw_phy_config(struct rtl8169_private *tp,
 |