All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Longhaul - Only for "Powersaver"
@ 2006-07-13  5:57 Rafał Bilski
  2006-07-13  6:27 ` Dave Jones
  0 siblings, 1 reply; 3+ messages in thread
From: Rafał Bilski @ 2006-07-13  5:57 UTC (permalink / raw)
  To: Dave Jones; +Cc: cpufreq

Looks like ACPI C3 don't work with older VIA CPUs. Motherboard is 
ACPI C3 capable, but after C3 frequency is same as before.
So this patch below will make "longhaul" fail for older CPU's.
There is nothing what I can do to fix this. Looks like CPU with 
BCR2 MSR is changing frequency only on halt. Processor with 
Longhaul MSR is changing frequency on halt or ACPI C3.
Btw typo fixes.

Thanks to David for bug report.

Signed-off-by: Rafa³ Bilski <rafalbilski@interia.pl>

---

diff -uprN -X linux-2.6.17-git20-vanilla/Documentation/dontdiff linux-2.6.17-git20-vanilla/arch/i386/kernel/cpu/cpufreq/longhaul.c linux-2.6.17-git20/arch/i386/kernel/cpu/cpufreq/longhaul.c
--- linux-2.6.17-git20-vanilla/arch/i386/kernel/cpu/cpufreq/longhaul.c	2006-07-13 07:39:41.000000000 +0200
+++ linux-2.6.17-git20/arch/i386/kernel/cpu/cpufreq/longhaul.c	2006-07-13 07:38:35.000000000 +0200
@@ -550,7 +550,7 @@ static int __init longhaul_cpu_init(stru
 	if (pr == NULL) goto err_acpi;
 
 	cx = &pr->power.states[ACPI_STATE_C3];
-	if (cx == NULL || cx->latency > 1000) goto err_acpi;
+	if (cx->address == 0 || cx->latency > 1000) goto err_acpi;
 
 	/* Now check what we have on this motherboard */
 	switch (c->x86_model) {
@@ -627,7 +627,9 @@ static int __init longhaul_cpu_init(stru
 	switch (longhaul_version) {
 	case TYPE_LONGHAUL_V1:
 	case TYPE_LONGHAUL_V2:
-		printk ("Longhaul v%d supported.\n", longhaul_version);
+//		printk ("Longhaul v%d supported.\n", longhaul_version);
+		printk(KERN_ERR PFX "Processor don't support ACPI. Aborting.\n");
+		return -ENODEV;
 		break;
 	case TYPE_POWERSAVER:
 		printk ("Powersaver supported.\n");
@@ -691,8 +693,8 @@ static int __init longhaul_init(void)
 
 #ifdef CONFIG_SMP
 	if (num_online_cpus() > 1) {
-		return -ENODEV;
 		printk(KERN_ERR PFX "More than 1 CPU detected, longhaul disabled.\n");
+		return -ENODEV;
 	}
 #endif
 #ifdef CONFIG_X86_IO_APIC


--------------------------------------------------------------------
12 000 SMS-ow gratis! Promocja na http://link.interia.pl/f1971

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-07-13  6:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-13  5:57 [PATCH] Longhaul - Only for "Powersaver" Rafał Bilski
2006-07-13  6:27 ` Dave Jones
2006-07-13  6:59   ` Rafał Bilski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.