Initial commit
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Build Kernel / Build all affected Kernels (push) Has been cancelled
				
			
		
			
				
	
				Build all core packages / Build all core packages for selected target (push) Has been cancelled
				
			
		
			
				
	
				Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
				
			
		
			
				
	
				Build Toolchains / Build Toolchains for each target (push) Has been cancelled
				
			
		
			
				
	
				Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
				
			
		
			
				
	
				Coverity scan build / Coverity x86/64 build (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Build Kernel / Build all affected Kernels (push) Has been cancelled
				
			Build all core packages / Build all core packages for selected target (push) Has been cancelled
				
			Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
				
			Build Toolchains / Build Toolchains for each target (push) Has been cancelled
				
			Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
				
			Coverity scan build / Coverity x86/64 build (push) Has been cancelled
				
			This commit is contained in:
		| @@ -0,0 +1,46 @@ | ||||
| From 167d775d4cad4d41651ca81b79589bb9a408fd3c Mon Sep 17 00:00:00 2001 | ||||
| From: Phil Elwell <phil@raspberrypi.com> | ||||
| Date: Wed, 14 Dec 2022 15:00:51 +0000 | ||||
| Subject: [PATCH 0400/1085] net: bcmgenet: Add 'eee' module parameter | ||||
|  | ||||
| On some switches, having EEE enabled causes the link to become | ||||
| unstable. With this patch, adding 'genet.eee=N' to the kernel command | ||||
| line will cause EEE to be disabled on the link. | ||||
|  | ||||
| See: https://github.com/raspberrypi/linux/issues/4289 | ||||
|  | ||||
| Signed-off-by: Phil Elwell <phil@raspberrypi.com> | ||||
| --- | ||||
|  drivers/net/ethernet/broadcom/genet/bcmgenet.c | 14 ++++++++++++++ | ||||
|  1 file changed, 14 insertions(+) | ||||
|  | ||||
| --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c | ||||
| +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c | ||||
| @@ -70,6 +70,9 @@ static void bcmgenet_set_rx_mode(struct | ||||
|  static bool skip_umac_reset = false; | ||||
|  module_param(skip_umac_reset, bool, 0444); | ||||
|  MODULE_PARM_DESC(skip_umac_reset, "Skip UMAC reset step"); | ||||
| +static bool eee = true; | ||||
| +module_param(eee, bool, 0444); | ||||
| +MODULE_PARM_DESC(eee, "Enable EEE (default Y)"); | ||||
|   | ||||
|  static inline void bcmgenet_writel(u32 value, void __iomem *offset) | ||||
|  { | ||||
| @@ -3449,6 +3452,17 @@ static int bcmgenet_open(struct net_devi | ||||
|   | ||||
|  	bcmgenet_phy_pause_set(dev, priv->rx_pause, priv->tx_pause); | ||||
|   | ||||
| +	if (!eee) { | ||||
| +		struct ethtool_eee eee_data; | ||||
| + | ||||
| +		ret = bcmgenet_get_eee(dev, &eee_data); | ||||
| +		if (ret == 0) { | ||||
| +			eee_data.eee_enabled = 0; | ||||
| +			bcmgenet_set_eee(dev, &eee_data); | ||||
| +			netdev_warn(dev, "EEE disabled\n"); | ||||
| +		} | ||||
| +	} | ||||
| + | ||||
|  	bcmgenet_netif_start(dev); | ||||
|   | ||||
|  	netif_tx_start_all_queues(dev); | ||||
		Reference in New Issue
	
	Block a user
	 domenico
					domenico