ASUS P5A broken by ACPI black-list

Nate Lawson nate at root.org
Wed Oct 6 21:27:10 PDT 2004


Kevin Oberman wrote:
> Thanks, John.
> 
> This was actually an effort to avoid causing problems for people
> upgrading to V5 with this card. I have no problems with running
> ACPI. But, since it's blacklisted for ACPI and won't work without it,
> people are going to try to upgrade and discover that their systems don't
> work.
> 
> I think the best solution is to remove it from the black-list (Nate?)
> and at least let it work. Then people can figure out to use TSC and not
> the ACPI clock.
> 
> What would be better is a more granular black-list that simply disabled
> ACPI for features that are broken. Of course, maintaining this would be
> a pain.

Try the attached patch.  If it works, please submit your system info 
including dmesg and acpidump -t as a PR (i386/???) and I'll commit it.

-Nate
-------------- next part --------------
Index: acpi_quirks
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi_quirks,v
retrieving revision 1.3
diff -u -r1.3 acpi_quirks
--- acpi_quirks	29 Jun 2004 14:32:06 -0000	1.3
+++ acpi_quirks	7 Oct 2004 01:29:53 -0000
@@ -53,17 +53,14 @@
 creator_rev:	FADT <= 0x31303030
 quirks:		ACPI_Q_BROKEN
 
-# ASUS P5A 03/12/99
+# ASUS P5A and P5A-B 03/12/99
+# PR:	i386/
+# Testing indicates that the ACPI timer runs twice as fast but otherwise
+# this system works normally.
 name:		ASUS_P5A
 oem:		FADT "ASUS  " "P5A     "
 oem_rev:	FADT <= 0x58582e31
-quirks:		ACPI_Q_BROKEN
-
-# ASUS P5A-B
-name:		ASUS_P5A_B
-oem:		FADT "ASUS  " "P5A-B   "
-oem_rev:	FADT <= 0x58582e31
-quirks:		ACPI_Q_BROKEN
+quirks:		ACPI_Q_TIMER
 
 # Compaq Armada 3500
 name:		Compaq_Armada_3500
Index: acpi_timer.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi_timer.c,v
retrieving revision 1.35
diff -u -r1.35 acpi_timer.c
--- acpi_timer.c	22 Jul 2004 05:42:14 -0000	1.35
+++ acpi_timer.c	7 Oct 2004 01:26:17 -0000
@@ -116,7 +116,8 @@
 
     ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
 
-    if (acpi_disabled("timer") || AcpiGbl_FADT == NULL || acpi_timer_dev)
+    if (acpi_disabled("timer") || (acpi_quirks & ACPI_Q_TIMER) ||
+	AcpiGbl_FADT == NULL || acpi_timer_dev)
 	return_VOID;
 
     if ((dev = BUS_ADD_CHILD(parent, 0, "acpi_timer", 0)) == NULL) {
Index: acpivar.h
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpivar.h,v
retrieving revision 1.82
diff -u -r1.82 acpivar.h
--- acpivar.h	22 Sep 2004 15:46:16 -0000	1.82
+++ acpivar.h	7 Oct 2004 01:25:40 -0000
@@ -161,8 +161,10 @@
 #define	ACPI_INTR_SAPIC		2
 
 /* Quirk flags. */
+extern int	acpi_quirks;
 #define ACPI_Q_OK		0
 #define ACPI_Q_BROKEN		(1 << 0)	/* Disable ACPI completely. */
+#define ACPI_Q_TIMER		(1 << 1)	/* Disable ACPI timer. */
 
 /*
  * Note that the low ivar values are reserved to provide


More information about the freebsd-acpi mailing list