* [PATCH 0/2] Fix some uses of clk->rate
@ 2013-06-05 15:06 Peter De Schrijver
2013-06-05 15:06 ` [PATCH 1/2] clk: use clk_get_rate() for debugfs Peter De Schrijver
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Peter De Schrijver @ 2013-06-05 15:06 UTC (permalink / raw)
To: Peter De Schrijver; +Cc: linux-arm-kernel, mturquette, linux-kernel
Using clk->rate directly does not take the CLK_GET_RATE_NOCACHE flag into
account. This can cause wrong results if the flag is set.
Peter De Schrijver (2):
clk: use clk_get_rate() for debugfs
clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate
drivers/clk/clk.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
--
1.7.7.rc0.72.g4b5ea.dirty
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH 1/2] clk: use clk_get_rate() for debugfs 2013-06-05 15:06 [PATCH 0/2] Fix some uses of clk->rate Peter De Schrijver @ 2013-06-05 15:06 ` Peter De Schrijver 2013-06-05 15:06 ` [PATCH 2/2] clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate Peter De Schrijver 2013-06-12 1:04 ` [PATCH 0/2] Fix some uses of clk->rate Mike Turquette 2 siblings, 0 replies; 4+ messages in thread From: Peter De Schrijver @ 2013-06-05 15:06 UTC (permalink / raw) To: Peter De Schrijver; +Cc: linux-arm-kernel, mturquette, linux-kernel debugfs uses the rate field directly. However this ignores the CLK_GET_RATE_NOCACHE flag. Call clk_get_rate() instead. Tested-by: Mark Zhang <markz@nvidia.com> Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- drivers/clk/clk.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index af0dbcc..9b2f941 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -107,7 +107,7 @@ static void clk_summary_show_one(struct seq_file *s, struct clk *c, int level) seq_printf(s, "%*s%-*s %-11d %-12d %-10lu", level * 3 + 1, "", 30 - level * 3, c->name, - c->enable_count, c->prepare_count, c->rate); + c->enable_count, c->prepare_count, clk_get_rate(c)); seq_printf(s, "\n"); } @@ -166,7 +166,7 @@ static void clk_dump_one(struct seq_file *s, struct clk *c, int level) seq_printf(s, "\"%s\": { ", c->name); seq_printf(s, "\"enable_count\": %d,", c->enable_count); seq_printf(s, "\"prepare_count\": %d,", c->prepare_count); - seq_printf(s, "\"rate\": %lu", c->rate); + seq_printf(s, "\"rate\": %lu", clk_get_rate(c)); } static void clk_dump_subtree(struct seq_file *s, struct clk *c, int level) -- 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate 2013-06-05 15:06 [PATCH 0/2] Fix some uses of clk->rate Peter De Schrijver 2013-06-05 15:06 ` [PATCH 1/2] clk: use clk_get_rate() for debugfs Peter De Schrijver @ 2013-06-05 15:06 ` Peter De Schrijver 2013-06-12 1:04 ` [PATCH 0/2] Fix some uses of clk->rate Mike Turquette 2 siblings, 0 replies; 4+ messages in thread From: Peter De Schrijver @ 2013-06-05 15:06 UTC (permalink / raw) To: Peter De Schrijver; +Cc: linux-arm-kernel, mturquette, linux-kernel clk_set_rate() uses clk->rate directly. This causes problems if the clock is marked as CLK_GET_RATE_NOCACHE. Hence call clk_get_rate() to get the current rate. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- drivers/clk/clk.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 9b2f941..2e669a8 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -1216,7 +1216,7 @@ int clk_set_rate(struct clk *clk, unsigned long rate) clk_prepare_lock(); /* bail early if nothing to do */ - if (rate == clk->rate) + if (rate == clk_get_rate(clk)) goto out; if ((clk->flags & CLK_SET_RATE_GATE) && clk->prepare_count) { -- 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/2] Fix some uses of clk->rate 2013-06-05 15:06 [PATCH 0/2] Fix some uses of clk->rate Peter De Schrijver 2013-06-05 15:06 ` [PATCH 1/2] clk: use clk_get_rate() for debugfs Peter De Schrijver 2013-06-05 15:06 ` [PATCH 2/2] clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate Peter De Schrijver @ 2013-06-12 1:04 ` Mike Turquette 2 siblings, 0 replies; 4+ messages in thread From: Mike Turquette @ 2013-06-12 1:04 UTC (permalink / raw) To: Peter De Schrijver, Peter De Schrijver; +Cc: linux-arm-kernel, linux-kernel Quoting Peter De Schrijver (2013-06-05 08:06:34) > Using clk->rate directly does not take the CLK_GET_RATE_NOCACHE flag into > account. This can cause wrong results if the flag is set. > > Peter De Schrijver (2): > clk: use clk_get_rate() for debugfs > clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate > Pulled into clk-next. Thanks! Mike > drivers/clk/clk.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > -- > 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-06-12 1:04 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-06-05 15:06 [PATCH 0/2] Fix some uses of clk->rate Peter De Schrijver 2013-06-05 15:06 ` [PATCH 1/2] clk: use clk_get_rate() for debugfs Peter De Schrijver 2013-06-05 15:06 ` [PATCH 2/2] clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate Peter De Schrijver 2013-06-12 1:04 ` [PATCH 0/2] Fix some uses of clk->rate Mike Turquette
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox