summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/components/hardware
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2012-07-11 23:18:35 +0000
committerjkim <jkim@FreeBSD.org>2012-07-11 23:18:35 +0000
commitad8778768e1e16840c59eb761f80b57724347273 (patch)
tree6596f71678de564fb72419b65b5035f612b8cffe /sys/contrib/dev/acpica/components/hardware
parent6975aedf109ac250b4d7e9b7162c8db4e07fec47 (diff)
parentdbd90a99cde8c4a942a41f095faa72f479694173 (diff)
downloadFreeBSD-src-ad8778768e1e16840c59eb761f80b57724347273.zip
FreeBSD-src-ad8778768e1e16840c59eb761f80b57724347273.tar.gz
Merge ACPICA 20120711.
Diffstat (limited to 'sys/contrib/dev/acpica/components/hardware')
-rw-r--r--sys/contrib/dev/acpica/components/hardware/hwsleep.c25
-rw-r--r--sys/contrib/dev/acpica/components/hardware/hwxfsleep.c8
2 files changed, 8 insertions, 25 deletions
diff --git a/sys/contrib/dev/acpica/components/hardware/hwsleep.c b/sys/contrib/dev/acpica/components/hardware/hwsleep.c
index f5a9eba..2a80c25 100644
--- a/sys/contrib/dev/acpica/components/hardware/hwsleep.c
+++ b/sys/contrib/dev/acpica/components/hardware/hwsleep.c
@@ -100,20 +100,6 @@ AcpiHwLegacySleep (
return_ACPI_STATUS (Status);
}
- if (SleepState != ACPI_STATE_S5)
- {
- /*
- * Disable BM arbitration. This feature is contained within an
- * optional register (PM2 Control), so ignore a BAD_ADDRESS
- * exception.
- */
- Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 1);
- if (ACPI_FAILURE (Status) && (Status != AE_BAD_ADDRESS))
- {
- return_ACPI_STATUS (Status);
- }
- }
-
/*
* 1) Disable/Clear all GPEs
* 2) Enable all wakeup GPEs
@@ -394,17 +380,6 @@ AcpiHwLegacyWake (
AcpiGbl_FixedEventInfo[ACPI_EVENT_POWER_BUTTON].StatusRegisterId,
ACPI_CLEAR_STATUS);
- /*
- * Enable BM arbitration. This feature is contained within an
- * optional register (PM2 Control), so ignore a BAD_ADDRESS
- * exception.
- */
- Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 0);
- if (ACPI_FAILURE (Status) && (Status != AE_BAD_ADDRESS))
- {
- return_ACPI_STATUS (Status);
- }
-
AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING);
return_ACPI_STATUS (Status);
}
diff --git a/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c b/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
index fa6fec8..bd7abea 100644
--- a/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
+++ b/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
@@ -101,6 +101,14 @@ AcpiSetFirmwareWakingVector (
ACPI_FUNCTION_TRACE (AcpiSetFirmwareWakingVector);
+ /*
+ * According to the ACPI specification 2.0c and later, the 64-bit
+ * waking vector should be cleared and the 32-bit waking vector should
+ * be used, unless we want the wake-up code to be called by the BIOS in
+ * Protected Mode. Some systems (for example HP dv5-1004nr) are known
+ * to fail to resume if the 64-bit vector is used.
+ */
+
/* Set the 32-bit vector */
AcpiGbl_FACS->FirmwareWakingVector = PhysicalAddress;
OpenPOWER on IntegriCloud