summaryrefslogtreecommitdiffstats
path: root/sys/i386/acpica
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2003-08-29 04:02:19 +0000
committernjl <njl@FreeBSD.org>2003-08-29 04:02:19 +0000
commitb5438b54303dbc8d523f6cdc914d2e4e37bb59fb (patch)
treed54715d8d3a15f359e394a41d14f08964412c5c9 /sys/i386/acpica
parent89874a1f1d2097be6ab2ccb3535359238a189b1d (diff)
downloadFreeBSD-src-b5438b54303dbc8d523f6cdc914d2e4e37bb59fb.zip
FreeBSD-src-b5438b54303dbc8d523f6cdc914d2e4e37bb59fb.tar.gz
Use the ACPICA AcpiEnterSleepStateS4bios instead of rolling our own. This
change also disables interrupts around non-S4 suspends whereas before we did not do this. Our version of AcpiEnterSleepStateS4bios was almost identical to the ACPICA version.
Diffstat (limited to 'sys/i386/acpica')
-rw-r--r--sys/i386/acpica/acpi_wakeup.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/i386/acpica/acpi_wakeup.c b/sys/i386/acpica/acpi_wakeup.c
index e2a029f..106df55 100644
--- a/sys/i386/acpica/acpi_wakeup.c
+++ b/sys/i386/acpica/acpi_wakeup.c
@@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$");
#include <i386/isa/intr_machdep.h>
#include "acpi.h"
-#include <dev/acpica/acpica_support.h>
#include <dev/acpica/acpivar.h>
#include "acpi_wakecode.h"
@@ -254,12 +253,14 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
if (acpi_get_verbose(sc))
acpi_printcpu();
+ /* Call ACPICA to enter the desired sleep state */
+ ACPI_DISABLE_IRQS();
ACPI_FLUSH_CPU_CACHE();
-
if (state == ACPI_STATE_S4 && sc->acpi_s4bios)
- status = AcpiEnterSleepStateS4Bios();
+ status = AcpiEnterSleepStateS4bios();
else
status = AcpiEnterSleepState(state);
+ ACPI_ENABLE_IRQS();
if (status != AE_OK) {
device_printf(sc->acpi_dev,
OpenPOWER on IntegriCloud