* [PATCH] PM: OMAP3: Refreshed DVFS VDD1 control against latest clock fw
@ 2009-01-09 15:37 Tero Kristo
2009-01-13 1:04 ` Kevin Hilman
0 siblings, 1 reply; 2+ messages in thread
From: Tero Kristo @ 2009-01-09 15:37 UTC (permalink / raw)
To: linux-omap
New clock framework patches from Paul Walmsley broke the DVFS for OMAP3.
This patch fixes the VDD1 part of it. Applies on top of latest PM branch
(pm-next) in Kevin's tree.
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
---
arch/arm/mach-omap2/clock34xx.c | 11 +----------
arch/arm/mach-omap2/clock34xx.h | 6 ++++--
2 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
index 0434552..55981dd 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
@@ -796,11 +796,8 @@ int __init omap2_clk_init(void)
for (clkp = onchip_34xx_clks;
clkp < onchip_34xx_clks + ARRAY_SIZE(onchip_34xx_clks);
clkp++) {
- if ((*clkp)->flags & cpu_clkflg) {
+ if ((*clkp)->flags & cpu_clkflg)
clk_register(*clkp);
- if (!((*clkp)->flags & VIRTUAL_CLOCK))
- omap2_init_clk_clkdm(*clkp);
- }
}
/* REVISIT: Not yet ready for OMAP3 */
@@ -969,10 +966,6 @@ static int omap3_select_table_rate(struct clk *clk, unsigned long rate)
clk_set_rate(dpll1_clk, prcm_vdd->rate);
clk_set_rate(dpll2_clk, dsp_opps[index].rate);
curr_vdd1_prcm_set = prcm_vdd;
- omap2_clksel_recalc(&mpu_ck);
- propagate_rate(&mpu_ck);
- omap2_clksel_recalc(&iva2_ck);
- propagate_rate(&iva2_ck);
#ifndef CONFIG_CPU_FREQ
/*Update loops_per_jiffy if processor speed is being changed*/
loops_per_jiffy = compute_lpj(loops_per_jiffy,
@@ -981,8 +974,6 @@ static int omap3_select_table_rate(struct clk *clk, unsigned long rate)
} else {
clk_set_rate(dpll3_clk, prcm_vdd->rate);
curr_vdd2_prcm_set = prcm_vdd;
- omap2_clksel_recalc(&core_ck);
- propagate_rate(&core_ck);
}
omap3_save_scratchpad_contents();
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index 8751fa9..8bda785 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -3341,8 +3341,9 @@ static struct clk wdt1_fck = {
static struct clk virt_vdd1_prcm_set = {
.name = "virt_vdd1_prcm_set",
- .flags = CLOCK_IN_OMAP343X | VIRTUAL_CLOCK | ALWAYS_ENABLED,
+ .flags = CLOCK_IN_OMAP343X | ALWAYS_ENABLED,
.parent = &mpu_ck, /* Indexed by mpu speed, no parent */
+ .clkdm = { .name = "virt_opp_clkdm" },
.recalc = &omap3_table_recalc, /*sets are keyed on mpu rate */
.set_rate = &omap3_select_table_rate,
.round_rate = &omap3_round_to_table_rate,
@@ -3350,8 +3351,9 @@ static struct clk virt_vdd1_prcm_set = {
static struct clk virt_vdd2_prcm_set = {
.name = "virt_vdd2_prcm_set",
- .flags = CLOCK_IN_OMAP343X | VIRTUAL_CLOCK | ALWAYS_ENABLED,
+ .flags = CLOCK_IN_OMAP343X | ALWAYS_ENABLED,
.parent = &core_ck,
+ .clkdm = { .name = "virt_opp_clkdm" },
.recalc = &omap3_table_recalc,
.set_rate = &omap3_select_table_rate,
.round_rate = &omap3_round_to_table_rate,
--
1.5.4.3
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] PM: OMAP3: Refreshed DVFS VDD1 control against latest clock fw
2009-01-09 15:37 [PATCH] PM: OMAP3: Refreshed DVFS VDD1 control against latest clock fw Tero Kristo
@ 2009-01-13 1:04 ` Kevin Hilman
0 siblings, 0 replies; 2+ messages in thread
From: Kevin Hilman @ 2009-01-13 1:04 UTC (permalink / raw)
To: Tero Kristo; +Cc: linux-omap
Tero Kristo <tero.kristo@nokia.com> writes:
> New clock framework patches from Paul Walmsley broke the DVFS for OMAP3.
> This patch fixes the VDD1 part of it. Applies on top of latest PM branch
> (pm-next) in Kevin's tree.
>
> Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Thanks, pulling into pm-next.
Kevin
> ---
> arch/arm/mach-omap2/clock34xx.c | 11 +----------
> arch/arm/mach-omap2/clock34xx.h | 6 ++++--
> 2 files changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
> index 0434552..55981dd 100644
> --- a/arch/arm/mach-omap2/clock34xx.c
> +++ b/arch/arm/mach-omap2/clock34xx.c
> @@ -796,11 +796,8 @@ int __init omap2_clk_init(void)
> for (clkp = onchip_34xx_clks;
> clkp < onchip_34xx_clks + ARRAY_SIZE(onchip_34xx_clks);
> clkp++) {
> - if ((*clkp)->flags & cpu_clkflg) {
> + if ((*clkp)->flags & cpu_clkflg)
> clk_register(*clkp);
> - if (!((*clkp)->flags & VIRTUAL_CLOCK))
> - omap2_init_clk_clkdm(*clkp);
> - }
> }
>
> /* REVISIT: Not yet ready for OMAP3 */
> @@ -969,10 +966,6 @@ static int omap3_select_table_rate(struct clk *clk, unsigned long rate)
> clk_set_rate(dpll1_clk, prcm_vdd->rate);
> clk_set_rate(dpll2_clk, dsp_opps[index].rate);
> curr_vdd1_prcm_set = prcm_vdd;
> - omap2_clksel_recalc(&mpu_ck);
> - propagate_rate(&mpu_ck);
> - omap2_clksel_recalc(&iva2_ck);
> - propagate_rate(&iva2_ck);
> #ifndef CONFIG_CPU_FREQ
> /*Update loops_per_jiffy if processor speed is being changed*/
> loops_per_jiffy = compute_lpj(loops_per_jiffy,
> @@ -981,8 +974,6 @@ static int omap3_select_table_rate(struct clk *clk, unsigned long rate)
> } else {
> clk_set_rate(dpll3_clk, prcm_vdd->rate);
> curr_vdd2_prcm_set = prcm_vdd;
> - omap2_clksel_recalc(&core_ck);
> - propagate_rate(&core_ck);
> }
>
> omap3_save_scratchpad_contents();
> diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
> index 8751fa9..8bda785 100644
> --- a/arch/arm/mach-omap2/clock34xx.h
> +++ b/arch/arm/mach-omap2/clock34xx.h
> @@ -3341,8 +3341,9 @@ static struct clk wdt1_fck = {
>
> static struct clk virt_vdd1_prcm_set = {
> .name = "virt_vdd1_prcm_set",
> - .flags = CLOCK_IN_OMAP343X | VIRTUAL_CLOCK | ALWAYS_ENABLED,
> + .flags = CLOCK_IN_OMAP343X | ALWAYS_ENABLED,
> .parent = &mpu_ck, /* Indexed by mpu speed, no parent */
> + .clkdm = { .name = "virt_opp_clkdm" },
> .recalc = &omap3_table_recalc, /*sets are keyed on mpu rate */
> .set_rate = &omap3_select_table_rate,
> .round_rate = &omap3_round_to_table_rate,
> @@ -3350,8 +3351,9 @@ static struct clk virt_vdd1_prcm_set = {
>
> static struct clk virt_vdd2_prcm_set = {
> .name = "virt_vdd2_prcm_set",
> - .flags = CLOCK_IN_OMAP343X | VIRTUAL_CLOCK | ALWAYS_ENABLED,
> + .flags = CLOCK_IN_OMAP343X | ALWAYS_ENABLED,
> .parent = &core_ck,
> + .clkdm = { .name = "virt_opp_clkdm" },
> .recalc = &omap3_table_recalc,
> .set_rate = &omap3_select_table_rate,
> .round_rate = &omap3_round_to_table_rate,
> --
> 1.5.4.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] 2+ messages in thread
end of thread, other threads:[~2009-01-13 1:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-09 15:37 [PATCH] PM: OMAP3: Refreshed DVFS VDD1 control against latest clock fw Tero Kristo
2009-01-13 1:04 ` Kevin Hilman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox