* [PATCH 1/6] cpufreq: Retrieve current frequency from scaling drivers with internal governors
[not found] <359744343-18690-1-git-send-email-dirk.brandewie@gmail.com>
@ 2013-02-01 18:49 ` dirk.brandewie
2013-02-02 2:48 ` Viresh Kumar
0 siblings, 1 reply; 3+ messages in thread
From: dirk.brandewie @ 2013-02-01 18:49 UTC (permalink / raw)
To: linux-kernel, cpufreq; +Cc: Dirk Brandewie, Dirk Brandewie
From: Dirk Brandewie <dirk.brandewie@gmail.com>
Scaling drivers that implement the cpufreq_driver.setpolicy() versus
the cpufreq_driver.target() interface do not set policy->cur.
Normally policy->cur is set during the call to cpufreq_driver.target()
when the frequnecy request is made by the governor.
If the scaling driver implements cpufreq_driver.setpolicy() and
cpufreq_driver.get() interfaces use cpufreq_driver.get() to retrieve
the current frequency.
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
---
drivers/cpufreq/cpufreq.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 1f93dbd..1c037f0 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1219,6 +1219,9 @@ unsigned int cpufreq_quick_get(unsigned int cpu)
struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
unsigned int ret_freq = 0;
+ if (cpufreq_driver && cpufreq_driver->setpolicy && cpufreq_driver->get)
+ return cpufreq_driver->get(cpu);
+
if (policy) {
ret_freq = policy->cur;
cpufreq_cpu_put(policy);
--
1.7.7.6
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/6] cpufreq: Retrieve current frequency from scaling drivers with internal governors
2013-02-01 18:49 ` [PATCH 1/6] cpufreq: Retrieve current frequency from scaling drivers with internal governors dirk.brandewie
@ 2013-02-02 2:48 ` Viresh Kumar
0 siblings, 0 replies; 3+ messages in thread
From: Viresh Kumar @ 2013-02-02 2:48 UTC (permalink / raw)
To: dirk.brandewie; +Cc: linux-kernel, cpufreq, Dirk Brandewie
On Sat, Feb 2, 2013 at 12:19 AM, <dirk.brandewie@gmail.com> wrote:
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> @@ -1219,6 +1219,9 @@ unsigned int cpufreq_quick_get(unsigned int cpu)
> struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
> unsigned int ret_freq = 0;
>
> + if (cpufreq_driver && cpufreq_driver->setpolicy && cpufreq_driver->get)
> + return cpufreq_driver->get(cpu);
You are required to do cpufreq_cpu_put() in this case too... Better do
cpufreq_cpu_get() after your check.
> +
> if (policy) {
> ret_freq = policy->cur;
> cpufreq_cpu_put(policy);
> --
> 1.7.7.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe cpufreq" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/6] cpufreq: Retrieve current frequency from scaling drivers with internal governors
2013-02-01 18:45 [PATCH 0/6] Add P state driver for Intel Core Processors dirk.brandewie
@ 2013-02-01 18:45 ` dirk.brandewie
0 siblings, 0 replies; 3+ messages in thread
From: dirk.brandewie @ 2013-02-01 18:45 UTC (permalink / raw)
To: linux-kernel, cpufreq; +Cc: Dirk Brandewie
From: Dirk Brandewie <dirk.j.brandewie@intel.com>
Scaling drivers that implement the cpufreq_driver.setpolicy() versus
the cpufreq_driver.target() interface do not set policy->cur.
Normally policy->cur is set during the call to cpufreq_driver.target()
when the frequnecy request is made by the governor.
If the scaling driver implements cpufreq_driver.setpolicy() and
cpufreq_driver.get() interfaces use cpufreq_driver.get() to retrieve
the current frequency.
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
---
drivers/cpufreq/cpufreq.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 1f93dbd..1c037f0 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1219,6 +1219,9 @@ unsigned int cpufreq_quick_get(unsigned int cpu)
struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
unsigned int ret_freq = 0;
+ if (cpufreq_driver && cpufreq_driver->setpolicy && cpufreq_driver->get)
+ return cpufreq_driver->get(cpu);
+
if (policy) {
ret_freq = policy->cur;
cpufreq_cpu_put(policy);
--
1.7.7.6
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-02-02 2:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <359744343-18690-1-git-send-email-dirk.brandewie@gmail.com>
2013-02-01 18:49 ` [PATCH 1/6] cpufreq: Retrieve current frequency from scaling drivers with internal governors dirk.brandewie
2013-02-02 2:48 ` Viresh Kumar
2013-02-01 18:45 [PATCH 0/6] Add P state driver for Intel Core Processors dirk.brandewie
2013-02-01 18:45 ` [PATCH 1/6] cpufreq: Retrieve current frequency from scaling drivers with internal governors dirk.brandewie
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).