public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Bug fixes for DVFS
@ 2008-12-02 15:31 Peter 'p2' De Schrijver
  2008-12-02 15:31 ` [PATCH 1/2] Fix omap_getspeed Peter 'p2' De Schrijver
  0 siblings, 1 reply; 5+ messages in thread
From: Peter 'p2' De Schrijver @ 2008-12-02 15:31 UTC (permalink / raw)
  To: linux-omap; +Cc: Peter 'p2' De Schrijver

The following patchset fixes some smaal bugs in cpufreq for OMAP3.
The first patch fixes omap_getspeed to return meaningful values.
The second patch makes sure the omap cpufreq driver is initialized after
the cpufreq frameworks and governors are initialized.

Peter 'p2' De Schrijver (2):
  Fix omap_getspeed.
  Make sure omap cpufreq driver initializes after cpufreq framework and
    governors

 arch/arm/mach-omap2/clock34xx.c |    1 +
 arch/arm/plat-omap/cpu-omap.c   |    8 +++++++-
 2 files changed, 8 insertions(+), 1 deletions(-)


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

* [PATCH 1/2] Fix omap_getspeed.
  2008-12-02 15:31 [PATCH 0/2] Bug fixes for DVFS Peter 'p2' De Schrijver
@ 2008-12-02 15:31 ` Peter 'p2' De Schrijver
  2008-12-02 15:31   ` [PATCH 2/2] Make sure omap cpufreq driver initializes after cpufreq framework and governors Peter 'p2' De Schrijver
  2009-01-13  4:38   ` [PATCH 1/2] Fix omap_getspeed Kevin Hilman
  0 siblings, 2 replies; 5+ messages in thread
From: Peter 'p2' De Schrijver @ 2008-12-02 15:31 UTC (permalink / raw)
  To: linux-omap; +Cc: Peter 'p2' De Schrijver


Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
---
 arch/arm/mach-omap2/clock34xx.c |    1 +
 arch/arm/plat-omap/cpu-omap.c   |    6 ++++++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
index f771b56..da27e49 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
@@ -938,6 +938,7 @@ static int omap3_select_table_rate(struct clk *clk, unsigned long rate)
 
 	if (clk == &virt_vdd1_prcm_set) {
 		curr_mpu_speed = curr_vdd1_prcm_set->rate;
+		clk->rate = prcm_vdd->rate;
 		clk_set_rate(dpll1_clk, prcm_vdd->rate);
 		clk_set_rate(dpll2_clk, dsp_opps[index].rate);
 		curr_vdd1_prcm_set = prcm_vdd;
diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
index ae0817d..0a7ce46 100644
--- a/arch/arm/plat-omap/cpu-omap.c
+++ b/arch/arm/plat-omap/cpu-omap.c
@@ -146,6 +146,12 @@ static int __init omap_cpu_init(struct cpufreq_policy *policy)
 							VERY_HI_RATE) / 1000;
 	}
 
+	clk_set_rate(mpu_clk, policy->cpuinfo.max_freq * 1000);
+
+	policy->min = policy->cpuinfo.min_freq;
+	policy->max = policy->cpuinfo.max_freq;
+	policy->cur = omap_getspeed(0);
+
 	/* FIXME: what's the actual transition time? */
 	policy->cpuinfo.transition_latency = 10 * 1000 * 1000;
 	return 0;
-- 
1.5.6.3


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

* [PATCH 2/2] Make sure omap cpufreq driver initializes after cpufreq framework and governors
  2008-12-02 15:31 ` [PATCH 1/2] Fix omap_getspeed Peter 'p2' De Schrijver
@ 2008-12-02 15:31   ` Peter 'p2' De Schrijver
  2008-12-02 19:26     ` David Brownell
  2009-01-13  4:38   ` [PATCH 1/2] Fix omap_getspeed Kevin Hilman
  1 sibling, 1 reply; 5+ messages in thread
From: Peter 'p2' De Schrijver @ 2008-12-02 15:31 UTC (permalink / raw)
  To: linux-omap; +Cc: Peter 'p2' De Schrijver


Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
---
 arch/arm/plat-omap/cpu-omap.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
index 0a7ce46..a4b3392 100644
--- a/arch/arm/plat-omap/cpu-omap.c
+++ b/arch/arm/plat-omap/cpu-omap.c
@@ -184,7 +184,7 @@ static int __init omap_cpufreq_init(void)
 	return cpufreq_register_driver(&omap_driver);
 }
 
-arch_initcall(omap_cpufreq_init);
+late_initcall(omap_cpufreq_init);
 
 /*
  * if ever we want to remove this, upon cleanup call:
-- 
1.5.6.3


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

* Re: [PATCH 2/2] Make sure omap cpufreq driver initializes after cpufreq framework and governors
  2008-12-02 15:31   ` [PATCH 2/2] Make sure omap cpufreq driver initializes after cpufreq framework and governors Peter 'p2' De Schrijver
@ 2008-12-02 19:26     ` David Brownell
  0 siblings, 0 replies; 5+ messages in thread
From: David Brownell @ 2008-12-02 19:26 UTC (permalink / raw)
  To: Peter 'p2' De Schrijver; +Cc: linux-omap

On Tuesday 02 December 2008, Peter 'p2' De Schrijver wrote:
> -arch_initcall(omap_cpufreq_init);
> +late_initcall(omap_cpufreq_init);

So this might explain why I've been unable to run
my OSK (5912) with cpufreq for a while now ...

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

* Re: [PATCH 1/2] Fix omap_getspeed.
  2008-12-02 15:31 ` [PATCH 1/2] Fix omap_getspeed Peter 'p2' De Schrijver
  2008-12-02 15:31   ` [PATCH 2/2] Make sure omap cpufreq driver initializes after cpufreq framework and governors Peter 'p2' De Schrijver
@ 2009-01-13  4:38   ` Kevin Hilman
  1 sibling, 0 replies; 5+ messages in thread
From: Kevin Hilman @ 2009-01-13  4:38 UTC (permalink / raw)
  To: Peter 'p2' De Schrijver; +Cc: linux-omap

Peter,

Can you resend this against pm-next[1] with an updated description.

Thanks,

Kevin

[1] git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git

"Peter 'p2' De Schrijver" <peter.de-schrijver@nokia.com> writes:

> Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
> ---
>  arch/arm/mach-omap2/clock34xx.c |    1 +
>  arch/arm/plat-omap/cpu-omap.c   |    6 ++++++
>  2 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
> index f771b56..da27e49 100644
> --- a/arch/arm/mach-omap2/clock34xx.c
> +++ b/arch/arm/mach-omap2/clock34xx.c
> @@ -938,6 +938,7 @@ static int omap3_select_table_rate(struct clk *clk, unsigned long rate)
>  
>  	if (clk == &virt_vdd1_prcm_set) {
>  		curr_mpu_speed = curr_vdd1_prcm_set->rate;
> +		clk->rate = prcm_vdd->rate;
>  		clk_set_rate(dpll1_clk, prcm_vdd->rate);
>  		clk_set_rate(dpll2_clk, dsp_opps[index].rate);
>  		curr_vdd1_prcm_set = prcm_vdd;
> diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
> index ae0817d..0a7ce46 100644
> --- a/arch/arm/plat-omap/cpu-omap.c
> +++ b/arch/arm/plat-omap/cpu-omap.c
> @@ -146,6 +146,12 @@ static int __init omap_cpu_init(struct cpufreq_policy *policy)
>  							VERY_HI_RATE) / 1000;
>  	}
>  
> +	clk_set_rate(mpu_clk, policy->cpuinfo.max_freq * 1000);
> +
> +	policy->min = policy->cpuinfo.min_freq;
> +	policy->max = policy->cpuinfo.max_freq;
> +	policy->cur = omap_getspeed(0);
> +
>  	/* FIXME: what's the actual transition time? */
>  	policy->cpuinfo.transition_latency = 10 * 1000 * 1000;
>  	return 0;
> -- 
> 1.5.6.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" 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] 5+ messages in thread

end of thread, other threads:[~2009-01-13  4:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-02 15:31 [PATCH 0/2] Bug fixes for DVFS Peter 'p2' De Schrijver
2008-12-02 15:31 ` [PATCH 1/2] Fix omap_getspeed Peter 'p2' De Schrijver
2008-12-02 15:31   ` [PATCH 2/2] Make sure omap cpufreq driver initializes after cpufreq framework and governors Peter 'p2' De Schrijver
2008-12-02 19:26     ` David Brownell
2009-01-13  4:38   ` [PATCH 1/2] Fix omap_getspeed Kevin Hilman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox