diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2005-04-16 15:24:18 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 15:24:18 -0700 |
commit | 7a648b9ec09f32606fe0f27fb9d095311cf968ca (patch) | |
tree | 7bab0ea91f5af84f6fedf0422d10194308c851b2 /arch/ppc/platforms/pmac_feature.c | |
parent | 6c26e03b2db4b66d79bfb774628c1fc9b458b943 (diff) |
[PATCH] ppc32: Fix cpufreq problems
This patch updates the PowerMac cpufreq driver. It depends on the addition
of the suspend() method (my previous patch) and on the new flag I defined
to silence some warnings that are normal for us.
It fixes various issues related to cpufreq on pmac, including some crashes
on some models when sleeping the machine while in low speed, proper voltage
control on some newer machines, and adds voltage control on 750FX based G3
laptops.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc/platforms/pmac_feature.c')
-rw-r--r-- | arch/ppc/platforms/pmac_feature.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/arch/ppc/platforms/pmac_feature.c b/arch/ppc/platforms/pmac_feature.c index 8e60550863a6..eda9c80746a4 100644 --- a/arch/ppc/platforms/pmac_feature.c +++ b/arch/ppc/platforms/pmac_feature.c @@ -1779,32 +1779,6 @@ core99_sleep_state(struct device_node* node, long param, long value) if ((pmac_mb.board_flags & PMAC_MB_CAN_SLEEP) == 0) return -EPERM; -#ifdef CONFIG_CPU_FREQ_PMAC - /* XXX should be elsewhere */ - if (machine_is_compatible("PowerBook6,5") || - machine_is_compatible("PowerBook6,4") || - machine_is_compatible("PowerBook5,5") || - machine_is_compatible("PowerBook5,4")) { - struct device_node *volt_gpio_np; - u32 *reg = NULL; - - volt_gpio_np = of_find_node_by_name(NULL, "cpu-vcore-select"); - if (volt_gpio_np != NULL) - reg = (u32 *)get_property(volt_gpio_np, "reg", NULL); - if (reg != NULL) { - /* Set the CPU voltage high if sleeping */ - if (value == 1) { - pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, - *reg, 0x05); - } else if (value == 0 && (mfspr(SPRN_HID1) & HID1_DFS)) { - pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, - *reg, 0x04); - } - mdelay(2); - } - } -#endif /* CONFIG_CPU_FREQ_PMAC */ - if (value == 1) return core99_sleep(); else if (value == 0) |