From 7a648b9ec09f32606fe0f27fb9d095311cf968ca Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Sat, 16 Apr 2005 15:24:18 -0700 Subject: [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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/ppc/platforms/pmac_feature.c | 26 -------------------------- 1 file changed, 26 deletions(-) (limited to 'arch/ppc/platforms/pmac_feature.c') diff --git a/arch/ppc/platforms/pmac_feature.c b/arch/ppc/platforms/pmac_feature.c index 8e60550863a..eda9c80746a 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) -- cgit v1.2.3