Message ID | E1tkLYv-004RZ7-Ot@rmk-PC.armlinux.org.uk (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: stmmac: cleanup transmit clock setting | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Clearly marked for net-next |
netdev/apply | fail | Patch does not apply to net-next-0 |
On Tue, Feb 18, 2025 at 11:14:49AM +0000, Russell King (Oracle) wrote: > Use the generic stmmac_set_clk_tx_rate() to configure the MAC transmit > clock. > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > --- > .../net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) Reviewed-by: Thierry Reding <treding@nvidia.com>
On Tue, Feb 25, 2025 at 09:35:52PM +0100, Thierry Reding wrote: > On Tue, Feb 18, 2025 at 11:14:49AM +0000, Russell King (Oracle) wrote: > > Use the generic stmmac_set_clk_tx_rate() to configure the MAC transmit > > clock. > > > > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > > --- > > .../net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 10 ++-------- > > 1 file changed, 2 insertions(+), 8 deletions(-) > > Reviewed-by: Thierry Reding <treding@nvidia.com> Hi Thierry, Please note that things changed in this patch as a result of: cff608268baf net: stmmac: dwc-qos: name struct plat_stmmacenet_data consistently which has now been merged. Are you still happy for me to add your r-b? The current patch is below. 8<=== From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk> Subject: [PATCH net-next] net: stmmac: dwc-qos: use generic stmmac_set_clk_tx_rate() Use the generic stmmac_set_clk_tx_rate() to configure the MAC transmit clock. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> --- .../net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c index 6cadf24a575c..3f0f4ea6cf2e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c @@ -30,7 +30,6 @@ struct tegra_eqos { struct reset_control *rst; struct clk *clk_slave; - struct clk *clk_tx; struct gpio_desc *reset; }; @@ -150,7 +149,6 @@ static void tegra_eqos_fix_speed(void *priv, int speed, unsigned int mode) { struct tegra_eqos *eqos = priv; bool needs_calibration = false; - long rate = 125000000; u32 value; int err; @@ -161,7 +159,6 @@ static void tegra_eqos_fix_speed(void *priv, int speed, unsigned int mode) fallthrough; case SPEED_10: - rate = rgmii_clock(speed); break; default: @@ -208,10 +205,6 @@ static void tegra_eqos_fix_speed(void *priv, int speed, unsigned int mode) value &= ~AUTO_CAL_CONFIG_ENABLE; writel(value, eqos->regs + AUTO_CAL_CONFIG); } - - err = clk_set_rate(eqos->clk_tx, rate); - if (err < 0) - dev_err(eqos->dev, "failed to set TX rate: %d\n", err); } static int tegra_eqos_init(struct platform_device *pdev, void *priv) @@ -247,7 +240,7 @@ static int tegra_eqos_probe(struct platform_device *pdev, if (!is_of_node(dev->fwnode)) goto bypass_clk_reset_gpio; - eqos->clk_tx = dwc_eth_find_clk(plat_dat, "tx"); + plat_dat->clk_tx_i = dwc_eth_find_clk(plat_dat, "tx"); eqos->reset = devm_gpiod_get(&pdev->dev, "phy-reset", GPIOD_OUT_HIGH); if (IS_ERR(eqos->reset)) { @@ -281,6 +274,7 @@ static int tegra_eqos_probe(struct platform_device *pdev, bypass_clk_reset_gpio: plat_dat->fix_mac_speed = tegra_eqos_fix_speed; + plat_dat->set_clk_tx_rate = stmmac_set_clk_tx_rate; plat_dat->init = tegra_eqos_init; plat_dat->bsp_priv = eqos; plat_dat->flags |= STMMAC_FLAG_SPH_DISABLE;
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c index 392574bdd4a4..581c0b40db57 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c @@ -30,7 +30,6 @@ struct tegra_eqos { struct reset_control *rst; struct clk *clk_slave; - struct clk *clk_tx; struct gpio_desc *reset; }; @@ -145,7 +144,6 @@ static void tegra_eqos_fix_speed(void *priv, int speed, unsigned int mode) { struct tegra_eqos *eqos = priv; bool needs_calibration = false; - long rate = 125000000; u32 value; int err; @@ -156,7 +154,6 @@ static void tegra_eqos_fix_speed(void *priv, int speed, unsigned int mode) fallthrough; case SPEED_10: - rate = rgmii_clock(speed); break; default: @@ -203,10 +200,6 @@ static void tegra_eqos_fix_speed(void *priv, int speed, unsigned int mode) value &= ~AUTO_CAL_CONFIG_ENABLE; writel(value, eqos->regs + AUTO_CAL_CONFIG); } - - err = clk_set_rate(eqos->clk_tx, rate); - if (err < 0) - dev_err(eqos->dev, "failed to set TX rate: %d\n", err); } static int tegra_eqos_init(struct platform_device *pdev, void *priv) @@ -246,7 +239,7 @@ static int tegra_eqos_probe(struct platform_device *pdev, eqos->clk_slave = data->clks[i].clk; data->stmmac_clk = eqos->clk_slave; } else if (strcmp(data->clks[i].id, "tx") == 0) { - eqos->clk_tx = data->clks[i].clk; + data->clk_tx_i = data->clks[i].clk; } } @@ -282,6 +275,7 @@ static int tegra_eqos_probe(struct platform_device *pdev, bypass_clk_reset_gpio: data->fix_mac_speed = tegra_eqos_fix_speed; + data->set_clk_tx_rate = stmmac_set_clk_tx_rate; data->init = tegra_eqos_init; data->bsp_priv = eqos; data->flags |= STMMAC_FLAG_SPH_DISABLE;
Use the generic stmmac_set_clk_tx_rate() to configure the MAC transmit clock. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> --- .../net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-)