net: stmmac: s32: use generic stmmac_set_clk_tx_rate()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 27 Feb 2025 09:16:44 +0000 (09:16 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 28 Feb 2025 18:20:47 +0000 (10:20 -0800)
Use the generic stmmac_set_clk_tx_rate() to configure the MAC transmit
clock.

Reviewed-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/E1tna0a-0052sq-59@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-s32.c

index 6a498833b8ed0396ac92347f336ea1acfdbd8aa0..221539d760bc83c31cb0189de1b93a376eb7e102 100644 (file)
@@ -100,24 +100,6 @@ static void s32_gmac_exit(struct platform_device *pdev, void *priv)
        clk_disable_unprepare(gmac->rx_clk);
 }
 
-static void s32_fix_mac_speed(void *priv, int speed, unsigned int mode)
-{
-       struct s32_priv_data *gmac = priv;
-       long tx_clk_rate;
-       int ret;
-
-       tx_clk_rate = rgmii_clock(speed);
-       if (tx_clk_rate < 0) {
-               dev_err(gmac->dev, "Unsupported/Invalid speed: %d\n", speed);
-               return;
-       }
-
-       dev_dbg(gmac->dev, "Set tx clock to %ld Hz\n", tx_clk_rate);
-       ret = clk_set_rate(gmac->tx_clk, tx_clk_rate);
-       if (ret)
-               dev_err(gmac->dev, "Can't set tx clock\n");
-}
-
 static int s32_dwmac_probe(struct platform_device *pdev)
 {
        struct plat_stmmacenet_data *plat;
@@ -172,7 +154,9 @@ static int s32_dwmac_probe(struct platform_device *pdev)
 
        plat->init = s32_gmac_init;
        plat->exit = s32_gmac_exit;
-       plat->fix_mac_speed = s32_fix_mac_speed;
+
+       plat->clk_tx_i = gmac->tx_clk;
+       plat->set_clk_tx_rate = stmmac_set_clk_tx_rate;
 
        plat->bsp_priv = gmac;