linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] clk: rockchip: validity should be checked prior to clock rate change
@ 2016-11-08  9:10 Elaine Zhang
  2016-11-08 13:26 ` Heiko Stübner
  2016-11-14 16:41 ` Heiko Stuebner
  0 siblings, 2 replies; 3+ messages in thread
From: Elaine Zhang @ 2016-11-08  9:10 UTC (permalink / raw)
  To: heiko, mturquette, sboyd, xf, rocky.hao
  Cc: huangtao, xxx, jay.xu, linux-clk, linux-rockchip, linux-kernel,
	Elaine Zhang

If validity is not checked prior to clock rate change, clk_set_rate(
cpu_clk, unsupported_rate) will return success, but the real clock rate
change operation is prohibited in post clock change event. Alough post
clock change event will report error due to unsupported clock rate is
set, but this error message is ignored by clock framework.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
---
 drivers/clk/rockchip/clk-cpu.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/clk/rockchip/clk-cpu.c b/drivers/clk/rockchip/clk-cpu.c
index 05b3d73bfefa..c4b0cc83fa87 100644
--- a/drivers/clk/rockchip/clk-cpu.c
+++ b/drivers/clk/rockchip/clk-cpu.c
@@ -125,8 +125,17 @@ static int rockchip_cpuclk_pre_rate_change(struct rockchip_cpuclk *cpuclk,
 {
 	const struct rockchip_cpuclk_reg_data *reg_data = cpuclk->reg_data;
 	unsigned long alt_prate, alt_div;
+	const struct rockchip_cpuclk_rate_table *rate;
 	unsigned long flags;
 
+	/* check validity of the new rate */
+	rate = rockchip_get_cpuclk_settings(cpuclk, ndata->new_rate);
+	if (!rate) {
+		pr_err("%s: Invalid rate : %lu for cpuclk\n",
+		       __func__, ndata->new_rate);
+		return -EINVAL;
+	}
+
 	alt_prate = clk_get_rate(cpuclk->alt_parent);
 
 	spin_lock_irqsave(cpuclk->lock, flags);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-11-14 16:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-08  9:10 [PATCH] clk: rockchip: validity should be checked prior to clock rate change Elaine Zhang
2016-11-08 13:26 ` Heiko Stübner
2016-11-14 16:41 ` Heiko Stuebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).