@@ -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(-)