From 64b824d3c716e40b5ae495faae53c26daabf77db Mon Sep 17 00:00:00 2001 From: Robert Moore Date: Wed, 20 May 2009 13:52:25 -0700 Subject: [PATCH] Disable preservation of SCI enable bit (SCI_EN). Preserving this bit breaks some machines. Not preserving this bit seems to work OK in all cases, even though this goes against the ACPI spec. --- source/include/aclocal.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/include/aclocal.h b/source/include/aclocal.h index 0c566045f..525a3bc7e 100644 --- a/source/include/aclocal.h +++ b/source/include/aclocal.h @@ -1010,7 +1010,14 @@ typedef struct acpi_bit_register_info /* For control registers, both ignored and reserved bits must be preserved */ -#define ACPI_PM1_CONTROL_IGNORED_BITS 0x0201 /* Bits 9, 0(SCI_EN) */ +/* + * For PM1 control, the SCI enable bit (bit 0, SCI_EN) is defined by the + * ACPI specification to be a "preserved" bit - "OSPM always preserves this + * bit position", section 4.7.3.2.1. However, some machines fail if this + * bit is in fact preserved. No machines fail if the bit is not preserved. + * Therefore, we no longer attempt to preserve this bit. (May 2009) + */ +#define ACPI_PM1_CONTROL_IGNORED_BITS 0x0200 /* Bit 9 */ #define ACPI_PM1_CONTROL_RESERVED_BITS 0xC1F8 /* Bits 14-15, 3-8 */ #define ACPI_PM1_CONTROL_PRESERVED_BITS \ (ACPI_PM1_CONTROL_IGNORED_BITS | ACPI_PM1_CONTROL_RESERVED_BITS)