|
@@ -442,7 +442,8 @@ static struct cpufreq_driver pmac_cpufreq_driver = {
|
|
|
.init = pmac_cpufreq_cpu_init,
|
|
|
.suspend = pmac_cpufreq_suspend,
|
|
|
.resume = pmac_cpufreq_resume,
|
|
|
- .flags = CPUFREQ_PM_NO_WARN,
|
|
|
+ .flags = CPUFREQ_PM_NO_WARN |
|
|
|
+ CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING,
|
|
|
.attr = cpufreq_generic_attr,
|
|
|
.name = "powermac",
|
|
|
};
|
|
@@ -626,14 +627,16 @@ static int __init pmac_cpufreq_setup(void)
|
|
|
if (!value)
|
|
|
goto out;
|
|
|
cur_freq = (*value) / 1000;
|
|
|
- transition_latency = CPUFREQ_ETERNAL;
|
|
|
|
|
|
/* Check for 7447A based MacRISC3 */
|
|
|
if (of_machine_is_compatible("MacRISC3") &&
|
|
|
of_get_property(cpunode, "dynamic-power-step", NULL) &&
|
|
|
PVR_VER(mfspr(SPRN_PVR)) == 0x8003) {
|
|
|
pmac_cpufreq_init_7447A(cpunode);
|
|
|
+
|
|
|
+ /* Allow dynamic switching */
|
|
|
transition_latency = 8000000;
|
|
|
+ pmac_cpufreq_driver.flags &= ~CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING;
|
|
|
/* Check for other MacRISC3 machines */
|
|
|
} else if (of_machine_is_compatible("PowerBook3,4") ||
|
|
|
of_machine_is_compatible("PowerBook3,5") ||
|