[PATCH net-next 2/6] net: stmmac: imx: use stmmac_set_tx_clk_gmii()
Russell King (Oracle)
rmk+kernel at armlinux.org.uk
Thu Sep 14 06:51:25 PDT 2023
Use stmmac_set_tx_clk_gmii().
Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
---
.../net/ethernet/stmicro/stmmac/dwmac-imx.c | 26 +++++--------------
1 file changed, 7 insertions(+), 19 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c
index df34e34cc14f..cb56f9523acc 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c
@@ -186,7 +186,6 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod
{
struct plat_stmmacenet_data *plat_dat;
struct imx_priv_data *dwmac = priv;
- unsigned long rate;
int err;
plat_dat = dwmac->plat_dat;
@@ -196,24 +195,13 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod
(plat_dat->mac_interface == PHY_INTERFACE_MODE_MII))
return;
- switch (speed) {
- case SPEED_1000:
- rate = 125000000;
- break;
- case SPEED_100:
- rate = 25000000;
- break;
- case SPEED_10:
- rate = 2500000;
- break;
- default:
- dev_err(dwmac->dev, "invalid speed %u\n", speed);
- return;
- }
-
- err = clk_set_rate(dwmac->clk_tx, rate);
- if (err < 0)
- dev_err(dwmac->dev, "failed to set tx rate %lu\n", rate);
+ err = stmmac_set_tx_clk_gmii(dwmac->clk_tx, speed);
+ if (err == -ENOTSUPP)
+ dev_err(dwmac->dev, "invalid speed %uMbps\n", speed);
+ else if (err)
+ dev_err(dwmac->dev,
+ "failed to set tx rate for speed %uMbps: %pe\n",
+ speed, ERR_PTR(err));
}
static void imx93_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mode)
--
2.30.2
More information about the linux-arm-kernel
mailing list