[PATCH v5 07/16] net: dwmac-intel-plat: Use helper rgmii_clock

Jan Petrous via B4 Relay posted 16 patches 1 year, 2 months ago
There is a newer version of this series
[PATCH v5 07/16] net: dwmac-intel-plat: Use helper rgmii_clock
Posted by Jan Petrous via B4 Relay 1 year, 2 months ago
From: "Jan Petrous (OSS)" <jan.petrous@oss.nxp.com>

Utilize a new helper function rgmii_clock().

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jan Petrous (OSS) <jan.petrous@oss.nxp.com>
---
 .../net/ethernet/stmicro/stmmac/dwmac-intel-plat.c   | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c
index 9739bc9867c5..71dbb8031506 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c
@@ -31,27 +31,15 @@ struct intel_dwmac_data {
 static void kmb_eth_fix_mac_speed(void *priv, unsigned int speed, unsigned int mode)
 {
 	struct intel_dwmac *dwmac = priv;
-	unsigned long rate;
+	long rate;
 	int ret;
 
 	rate = clk_get_rate(dwmac->tx_clk);
 
-	switch (speed) {
-	case SPEED_1000:
-		rate = 125000000;
-		break;
-
-	case SPEED_100:
-		rate = 25000000;
-		break;
-
-	case SPEED_10:
-		rate = 2500000;
-		break;
-
-	default:
+	rate = rgmii_clock(speed);
+	if (rate < 0) {
 		dev_err(dwmac->dev, "Invalid speed\n");
-		break;
+		return;
 	}
 
 	ret = clk_set_rate(dwmac->tx_clk, rate);

-- 
2.47.0
Re: [PATCH v5 07/16] net: dwmac-intel-plat: Use helper rgmii_clock
Posted by Russell King (Oracle) 1 year, 2 months ago
On Tue, Nov 19, 2024 at 04:00:13PM +0100, Jan Petrous via B4 Relay wrote:
> @@ -31,27 +31,15 @@ struct intel_dwmac_data {
>  static void kmb_eth_fix_mac_speed(void *priv, unsigned int speed, unsigned int mode)
>  {
>  	struct intel_dwmac *dwmac = priv;
> -	unsigned long rate;
> +	long rate;
>  	int ret;

So the following becomes:

>  
>  	rate = clk_get_rate(dwmac->tx_clk);
>  
> +	rate = rgmii_clock(speed);
> +	if (rate < 0) {
>  		dev_err(dwmac->dev, "Invalid speed\n");
> +		return;
>  	}

Now that I've removed the deleted lines, we can see that the
clk_get_rate() call there is now redundant. Please remove in
this change.

Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Re: [PATCH v5 07/16] net: dwmac-intel-plat: Use helper rgmii_clock
Posted by Jan Petrous 1 year, 2 months ago
On Tue, Nov 19, 2024 at 04:44:43PM +0000, Russell King (Oracle) wrote:
> On Tue, Nov 19, 2024 at 04:00:13PM +0100, Jan Petrous via B4 Relay wrote:
> > @@ -31,27 +31,15 @@ struct intel_dwmac_data {
> >  static void kmb_eth_fix_mac_speed(void *priv, unsigned int speed, unsigned int mode)
> >  {
> >  	struct intel_dwmac *dwmac = priv;
> > -	unsigned long rate;
> > +	long rate;
> >  	int ret;
> 
> So the following becomes:
> 
> >  
> >  	rate = clk_get_rate(dwmac->tx_clk);
> >  
> > +	rate = rgmii_clock(speed);
> > +	if (rate < 0) {
> >  		dev_err(dwmac->dev, "Invalid speed\n");
> > +		return;
> >  	}
> 
> Now that I've removed the deleted lines, we can see that the
> clk_get_rate() call there is now redundant. Please remove in
> this change.

Funny I didn't notice that, thanks. I will remove it in v6.

Interesting the redundant clk_get_rate() is there from v5.10.0.
I hope that there was no reason for the clock call, like any platform
discrepancy requiring reading the clock before setting.

BTW, I also removed Reviewed-by: Andrew as the patch was changed.

BR.
/Jan