]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: dwmac-starfive: Use helper rgmii_clock
authorJan Petrous (OSS) <jan.petrous@oss.nxp.com>
Thu, 5 Dec 2024 16:43:06 +0000 (17:43 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 10 Dec 2024 02:36:03 +0000 (18:36 -0800)
Utilize a new helper function rgmii_clock().

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Jan Petrous (OSS) <jan.petrous@oss.nxp.com>
Link: https://patch.msgid.link/20241205-upstream_s32cc_gmac-v8-9-ec1d180df815@oss.nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-starfive.c

index 421666279dd381d5e658b8920416611663bb9a37..0a0a363d3730980a8211360d58c3f672955c0053 100644 (file)
@@ -34,24 +34,13 @@ struct starfive_dwmac {
 static void starfive_dwmac_fix_mac_speed(void *priv, unsigned int speed, unsigned int mode)
 {
        struct starfive_dwmac *dwmac = priv;
-       unsigned long rate;
+       long rate;
        int err;
 
-       rate = clk_get_rate(dwmac->clk_tx);
-
-       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 %u\n", speed);
-               break;
+               return;
        }
 
        err = clk_set_rate(dwmac->clk_tx, rate);