mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	Replace downstream RealTek PHY patches with backported ones. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From b63cc73341e076961d564a74cc3d29b2fd444079 Mon Sep 17 00:00:00 2001
 | 
						|
From: Heiner Kallweit <hkallweit1@gmail.com>
 | 
						|
Date: Thu, 8 Feb 2024 07:59:18 +0100
 | 
						|
Subject: [PATCH] net: phy: realtek: use generic MDIO helpers to simplify the
 | 
						|
 code
 | 
						|
 | 
						|
Use generic MDIO helpers to simplify the code.
 | 
						|
 | 
						|
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
 | 
						|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
 | 
						|
Link: https://lore.kernel.org/r/422ae70f-7305-45fd-ab3e-0dd604b9fd6c@gmail.com
 | 
						|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
						|
---
 | 
						|
 drivers/net/phy/realtek.c | 20 +++-----------------
 | 
						|
 1 file changed, 3 insertions(+), 17 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/net/phy/realtek.c
 | 
						|
+++ b/drivers/net/phy/realtek.c
 | 
						|
@@ -682,14 +682,7 @@ static int rtl822x_config_aneg(struct ph
 | 
						|
 	int ret = 0;
 | 
						|
 
 | 
						|
 	if (phydev->autoneg == AUTONEG_ENABLE) {
 | 
						|
-		u16 adv = 0;
 | 
						|
-
 | 
						|
-		if (linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
 | 
						|
-				      phydev->advertising))
 | 
						|
-			adv |= MDIO_AN_10GBT_CTRL_ADV2_5G;
 | 
						|
-		if (linkmode_test_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
 | 
						|
-				      phydev->advertising))
 | 
						|
-			adv |= MDIO_AN_10GBT_CTRL_ADV5G;
 | 
						|
+		u16 adv = linkmode_adv_to_mii_10gbt_adv_t(phydev->advertising);
 | 
						|
 
 | 
						|
 		ret = phy_modify_paged_changed(phydev, 0xa5d, 0x12,
 | 
						|
 					       MDIO_AN_10GBT_CTRL_ADV2_5G |
 | 
						|
@@ -712,15 +705,8 @@ static int rtl822x_read_status(struct ph
 | 
						|
 		if (lpadv < 0)
 | 
						|
 			return lpadv;
 | 
						|
 
 | 
						|
-		linkmode_mod_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
 | 
						|
-				 phydev->lp_advertising,
 | 
						|
-				 lpadv & MDIO_AN_10GBT_STAT_LP10G);
 | 
						|
-		linkmode_mod_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
 | 
						|
-				 phydev->lp_advertising,
 | 
						|
-				 lpadv & MDIO_AN_10GBT_STAT_LP5G);
 | 
						|
-		linkmode_mod_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
 | 
						|
-				 phydev->lp_advertising,
 | 
						|
-				 lpadv & MDIO_AN_10GBT_STAT_LP2_5G);
 | 
						|
+		mii_10gbt_stat_mod_linkmode_lpa_t(phydev->lp_advertising,
 | 
						|
+						  lpadv);
 | 
						|
 	}
 | 
						|
 
 | 
						|
 	ret = genphy_read_status(phydev);
 |