mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	Refresh backport patches with make target/linux/refresh. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 9d32637122de88f1ef614c29703f0e050cad342e Mon Sep 17 00:00:00 2001
 | |
| From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
 | |
| Date: Wed, 1 Feb 2023 19:23:30 +0100
 | |
| Subject: [PATCH 12/13] net: mediatek: sgmii: fix duplex configuration
 | |
| MIME-Version: 1.0
 | |
| Content-Type: text/plain; charset=UTF-8
 | |
| Content-Transfer-Encoding: 8bit
 | |
| 
 | |
| The logic of the duplex bit is inverted.  Setting it means half
 | |
| duplex, not full duplex.
 | |
| 
 | |
| Fix and rename macro to avoid confusion.
 | |
| 
 | |
| Fixes: 7e538372694b ("net: ethernet: mediatek: Re-add support SGMII")
 | |
| Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
 | |
| Signed-off-by: Bjørn Mork <bjorn@mork.no>
 | |
| Acked-by: Daniel Golle <daniel@makrotopia.org>
 | |
| Tested-by: Daniel Golle <daniel@makrotopia.org>
 | |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | |
| ---
 | |
|  drivers/net/ethernet/mediatek/mtk_eth_soc.h | 2 +-
 | |
|  drivers/net/ethernet/mediatek/mtk_sgmii.c   | 6 +++---
 | |
|  2 files changed, 4 insertions(+), 4 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 | |
| +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 | |
| @@ -534,7 +534,7 @@
 | |
|  #define SGMII_SPEED_10			FIELD_PREP(SGMII_SPEED_MASK, 0)
 | |
|  #define SGMII_SPEED_100			FIELD_PREP(SGMII_SPEED_MASK, 1)
 | |
|  #define SGMII_SPEED_1000		FIELD_PREP(SGMII_SPEED_MASK, 2)
 | |
| -#define SGMII_DUPLEX_FULL		BIT(4)
 | |
| +#define SGMII_DUPLEX_HALF		BIT(4)
 | |
|  #define SGMII_IF_MODE_BIT5		BIT(5)
 | |
|  #define SGMII_REMOTE_FAULT_DIS		BIT(8)
 | |
|  #define SGMII_CODE_SYNC_SET_VAL		BIT(9)
 | |
| --- a/drivers/net/ethernet/mediatek/mtk_sgmii.c
 | |
| +++ b/drivers/net/ethernet/mediatek/mtk_sgmii.c
 | |
| @@ -154,11 +154,11 @@ static void mtk_pcs_link_up(struct phyli
 | |
|  		else
 | |
|  			sgm_mode = SGMII_SPEED_1000;
 | |
|  
 | |
| -		if (duplex == DUPLEX_FULL)
 | |
| -			sgm_mode |= SGMII_DUPLEX_FULL;
 | |
| +		if (duplex != DUPLEX_FULL)
 | |
| +			sgm_mode |= SGMII_DUPLEX_HALF;
 | |
|  
 | |
|  		regmap_update_bits(mpcs->regmap, SGMSYS_SGMII_MODE,
 | |
| -				   SGMII_DUPLEX_FULL | SGMII_SPEED_MASK,
 | |
| +				   SGMII_DUPLEX_HALF | SGMII_SPEED_MASK,
 | |
|  				   sgm_mode);
 | |
|  	}
 | |
|  }
 |