 2f663cab46
			
		
	
	2f663cab46
	
	
	
		
			
			Replace patches for MediaTek Ethernet driver SGMII/SerDes unit with their corresponding upstream patches. Not all of the patches in our tree went upstream as-is, some are slightly different implementations, and they require the phylink_pcs helpers now made available. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 5cf7797526ee81bea0f627bccaa3d887f48f53e0 Mon Sep 17 00:00:00 2001
 | |
| From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
 | |
| Date: Thu, 27 Oct 2022 14:10:47 +0100
 | |
| Subject: [PATCH 02/10] net: mtk_eth_soc: eliminate unnecessary error handling
 | |
| 
 | |
| The functions called by the pcs_config() method always return zero, so
 | |
| there is no point trying to handle an error from these functions. Make
 | |
| these functions void, eliminate the "err" variable and simply return
 | |
| zero from the pcs_config() function itself.
 | |
| 
 | |
| Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
 | |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | |
| ---
 | |
|  drivers/net/ethernet/mediatek/mtk_sgmii.c | 18 ++++++------------
 | |
|  1 file changed, 6 insertions(+), 12 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/ethernet/mediatek/mtk_sgmii.c
 | |
| +++ b/drivers/net/ethernet/mediatek/mtk_sgmii.c
 | |
| @@ -20,7 +20,7 @@ static struct mtk_pcs *pcs_to_mtk_pcs(st
 | |
|  }
 | |
|  
 | |
|  /* For SGMII interface mode */
 | |
| -static int mtk_pcs_setup_mode_an(struct mtk_pcs *mpcs)
 | |
| +static void mtk_pcs_setup_mode_an(struct mtk_pcs *mpcs)
 | |
|  {
 | |
|  	unsigned int val;
 | |
|  
 | |
| @@ -39,16 +39,13 @@ static int mtk_pcs_setup_mode_an(struct
 | |
|  	regmap_read(mpcs->regmap, SGMSYS_QPHY_PWR_STATE_CTRL, &val);
 | |
|  	val &= ~SGMII_PHYA_PWD;
 | |
|  	regmap_write(mpcs->regmap, SGMSYS_QPHY_PWR_STATE_CTRL, val);
 | |
| -
 | |
| -	return 0;
 | |
| -
 | |
|  }
 | |
|  
 | |
|  /* For 1000BASE-X and 2500BASE-X interface modes, which operate at a
 | |
|   * fixed speed.
 | |
|   */
 | |
| -static int mtk_pcs_setup_mode_force(struct mtk_pcs *mpcs,
 | |
| -				    phy_interface_t interface)
 | |
| +static void mtk_pcs_setup_mode_force(struct mtk_pcs *mpcs,
 | |
| +				     phy_interface_t interface)
 | |
|  {
 | |
|  	unsigned int val;
 | |
|  
 | |
| @@ -73,8 +70,6 @@ static int mtk_pcs_setup_mode_force(stru
 | |
|  	regmap_read(mpcs->regmap, SGMSYS_QPHY_PWR_STATE_CTRL, &val);
 | |
|  	val &= ~SGMII_PHYA_PWD;
 | |
|  	regmap_write(mpcs->regmap, SGMSYS_QPHY_PWR_STATE_CTRL, val);
 | |
| -
 | |
| -	return 0;
 | |
|  }
 | |
|  
 | |
|  static int mtk_pcs_config(struct phylink_pcs *pcs, unsigned int mode,
 | |
| @@ -83,15 +78,14 @@ static int mtk_pcs_config(struct phylink
 | |
|  			  bool permit_pause_to_mac)
 | |
|  {
 | |
|  	struct mtk_pcs *mpcs = pcs_to_mtk_pcs(pcs);
 | |
| -	int err = 0;
 | |
|  
 | |
|  	/* Setup SGMIISYS with the determined property */
 | |
|  	if (interface != PHY_INTERFACE_MODE_SGMII)
 | |
| -		err = mtk_pcs_setup_mode_force(mpcs, interface);
 | |
| +		mtk_pcs_setup_mode_force(mpcs, interface);
 | |
|  	else if (phylink_autoneg_inband(mode))
 | |
| -		err = mtk_pcs_setup_mode_an(mpcs);
 | |
| +		mtk_pcs_setup_mode_an(mpcs);
 | |
|  
 | |
| -	return err;
 | |
| +	return 0;
 | |
|  }
 | |
|  
 | |
|  static void mtk_pcs_restart_an(struct phylink_pcs *pcs)
 |