summaryrefslogtreecommitdiff
path: root/drivers/net/zynq_gem.c
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@amd.com>2022-08-26 10:30:47 +0200
committerMichal Simek <michal.simek@amd.com>2022-09-13 11:32:48 +0200
commitbae7d37e526f29504dd7765c80d664c0482c94dd (patch)
treeb731f08a1d552263ad1af396413d98993fb5ef4c /drivers/net/zynq_gem.c
parentaaf0793be36f83f1458623bb1eef0670e02e8b82 (diff)
downloadu-boot-bae7d37e526f29504dd7765c80d664c0482c94dd.tar.gz
net: gem: Check rate before setting it up
On QEMU setting rate for fixed clock is failing. That's why check a rate first if the rate is the same there is no need to ask for the change. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/bc465ffd4904bfd65208b782daa06732b915db54.1661502645.git.michal.simek@amd.com
Diffstat (limited to 'drivers/net/zynq_gem.c')
-rw-r--r--drivers/net/zynq_gem.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
index 4e8dd4badd..61a6c83e33 100644
--- a/drivers/net/zynq_gem.c
+++ b/drivers/net/zynq_gem.c
@@ -500,10 +500,13 @@ static int zynq_gem_init(struct udevice *dev)
}
#endif
- ret = clk_set_rate(&priv->tx_clk, clk_rate);
- if (IS_ERR_VALUE(ret)) {
- dev_err(dev, "failed to set tx clock rate\n");
- return ret;
+ ret = clk_get_rate(&priv->tx_clk);
+ if (ret != clk_rate) {
+ ret = clk_set_rate(&priv->tx_clk, clk_rate);
+ if (IS_ERR_VALUE(ret)) {
+ dev_err(dev, "failed to set tx clock rate %ld\n", clk_rate);
+ return ret;
+ }
}
ret = clk_enable(&priv->tx_clk);