Skip to contentSkip to conversation

Longhaul - Option to disable ACPI C3 support

PATCH New Rafał Bilski 1 participant 1 message Jul 8, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Longhaul - Option to disable ACPI C3 support

On some motherboards ACPI C3 is available, but it isn't causing frequency transition on VIA Nehemiah. Longhaul wasn't working at all earlier, but due to scaling_cur_speed returning true CPU frequency now, it looks like CPU is getting stuck at highest frequency since 2.6.21. I didn't find a reason. Halt is causing frequency transition.

---
 arch/i386/kernel/cpu/cpufreq/longhaul.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
arch/i386/kernel/cpu/cpufreq/longhaul.c +7 -0
@@ -75,6 +75,7 @@ static unsigned int longhaul_index;
 
 /* Module parameters */
 static int scale_voltage;
+static int disable_acpi_c3;
 
 #define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, "longhaul", msg)
 
@@ -844,6 +845,9 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy)
 		if (cx->address > 0 && cx->latency <= 1000)
 			longhaul_flags |= USE_ACPI_C3;
 	}
+	/* Disable if it isn't working */
+	if (disable_acpi_c3)
+		longhaul_flags &= ~USE_ACPI_C3;
 	/* Check if northbridge is friendly */
 	if (enable_arbiter_disable())
 		longhaul_flags |= USE_NORTHBRIDGE;
@@ -952,6 +956,9 @@ static void __exit longhaul_exit(void)
 	kfree(longhaul_table);
 }
 
+module_param (disable_acpi_c3, int, 0644);
+MODULE_PARM_DESC(disable_acpi_c3, "Don't use ACPI C3 support");
+
 module_param (scale_voltage, int, 0644);
 MODULE_PARM_DESC(scale_voltage, "Scale voltage of processor");
 
Signature · 2 lines
------------------------------------------------------------
Ks.Jankowski u Mela Gibsona 
Quoted 1 line
Quoted 1 line
Quoted 1 line

http://link.interia.pl/f1aec