Laptop troubles...

Nate Lawson nate at root.org
Mon Nov 15 09:56:32 PST 2004


Bruno Ducrot wrote:
> On Tue, Nov 09, 2004 at 03:07:56PM -0800, Nate Lawson wrote:
> 
>>That's fine, try cx_lowest=C2.  If that works, a workaround is to set 
>>cx_performance_state=C2 and cx_economy_state=C2 in /etc/rc.conf (or 
>>something like that, see /etc/defaults/rc.conf for the right variable 
>>names).  Please send me the output of acpidump -t -d > adam.asl 
>>separately as an attachment.  I think I will have enough with that to 
>>debug why C3 is hanging your system.  I'm pretty sure the problem area 
>>of the commit is in enabling C3 for systems that don't have bus master 
>>control.
>>
> 
> C3 support with a PIIX4 southbridge is buggy as hell and
> should be disabled no matter what.

Right, thanks for the reminder.  I actually have quirk code to do this 
but it wasn't enabled since I wanted to find an actual test case before 
turning it on.  Adam, please recompile with the attached patch.  Also, 
send me pciconf -l.  The patch will disable C3 and you should only get 
C1/C2 if your system is truly a PIIX4.

Thanks,
Nate
-------------- next part --------------
Index: sys/dev/acpica/acpi_cpu.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi_cpu.c,v
retrieving revision 1.45
diff -u -r1.45 acpi_cpu.c
--- sys/dev/acpica/acpi_cpu.c	11 Oct 2004 21:15:10 -0000	1.45
+++ sys/dev/acpica/acpi_cpu.c	15 Nov 2004 17:52:15 -0000
@@ -966,6 +966,7 @@
 static int
 acpi_cpu_quirks(struct acpi_cpu_softc *sc)
 {
+    device_t acpi_dev;
 
     /*
      * C3 on multiple CPUs requires using the expensive flush cache
@@ -974,7 +975,6 @@
     if (mp_ncpus > 1)
 	cpu_quirks |= CPU_QUIRK_NO_BM_CTRL;
 
-#ifdef notyet
     /* Look for various quirks of the PIIX4 part. */
     acpi_dev = pci_find_device(PCI_VENDOR_INTEL, PCI_DEVICE_82371AB_3);
     if (acpi_dev != NULL) {
@@ -1011,7 +1011,6 @@
 	    break;
 	}
     }
-#endif
 
     return (0);
 }


More information about the freebsd-acpi mailing list