diff options
author | jkim <jkim@FreeBSD.org> | 2012-07-11 23:18:35 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2012-07-11 23:18:35 +0000 |
commit | ad8778768e1e16840c59eb761f80b57724347273 (patch) | |
tree | 6596f71678de564fb72419b65b5035f612b8cffe /sys/contrib/dev/acpica/components/hardware | |
parent | 6975aedf109ac250b4d7e9b7162c8db4e07fec47 (diff) | |
parent | dbd90a99cde8c4a942a41f095faa72f479694173 (diff) | |
download | FreeBSD-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.c | 25 | ||||
-rw-r--r-- | sys/contrib/dev/acpica/components/hardware/hwxfsleep.c | 8 |
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; |