 998b973157
			
		
	
	998b973157
	
	
	
		
			
			* use interface mode switching only when operating in C45 mode Linux prevents switching the interface mode when using C22 MDIO, hence use rate-adapter mode in case the PHY controlled via C22. * use phy_read_paged where appropriate * use existing generic inline functions to handle 10GbE advertisements instead of redundantly defining register macros in realtek.c which are not actually vendor-specific. * make sure 10GbE advertisement is valid, preventing false-positive warning "Downshift occurred from negotiated speed 2.5Gbps to actual speed 1Gbps, check cabling!" with some link-partners using 1G mode. * Support Link Down Power Saving Mode (ALDPS) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
		
			
				
	
	
		
			28 lines
		
	
	
		
			842 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			842 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 934cdd67e7cf71f97a2a8aea2892e540af47dcdf Mon Sep 17 00:00:00 2001
 | |
| From: Daniel Golle <daniel@makrotopia.org>
 | |
| Date: Sat, 22 Apr 2023 01:21:14 +0100
 | |
| Subject: [PATCH 1/3] net: phy: realtek: use phy_read_paged instead of open
 | |
|  coding
 | |
| 
 | |
| Instead of open coding a paged read, use the phy_read_paged function
 | |
| in rtlgen_supports_2_5gbps.
 | |
| 
 | |
| Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | |
| ---
 | |
|  drivers/net/phy/realtek.c | 4 +---
 | |
|  1 file changed, 1 insertion(+), 3 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/phy/realtek.c
 | |
| +++ b/drivers/net/phy/realtek.c
 | |
| @@ -727,9 +727,7 @@ static bool rtlgen_supports_2_5gbps(stru
 | |
|  {
 | |
|  	int val;
 | |
|  
 | |
| -	phy_write(phydev, RTL821x_PAGE_SELECT, 0xa61);
 | |
| -	val = phy_read(phydev, 0x13);
 | |
| -	phy_write(phydev, RTL821x_PAGE_SELECT, 0);
 | |
| +	val = phy_read_paged(phydev, 0xa61, 0x13);
 | |
|  
 | |
|  	return val >= 0 && val & RTL_SUPPORTS_2500FULL;
 | |
|  }
 |