aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/dev/acpica/hwsleep.c
diff options
context:
space:
mode:
authorMike Smith <msmith@FreeBSD.org>2001-07-21 03:55:17 +0000
committerMike Smith <msmith@FreeBSD.org>2001-07-21 03:55:17 +0000
commit9d5c013ca4e5dbd28bd8af000fb72649e20b08ec (patch)
treeace3ff94f32745a26e8a131379a4320fd8795556 /sys/contrib/dev/acpica/hwsleep.c
parent2e5c56cb6b4128c20342c3912bb3e8eb095c663f (diff)
downloadsrc-9d5c013ca4e5dbd28bd8af000fb72649e20b08ec.tar.gz
src-9d5c013ca4e5dbd28bd8af000fb72649e20b08ec.zip
Vendor import of the Intel ACPI CA 20010717 snapshot.
Notes
Notes: svn path=/vendor-sys/acpica/dist/; revision=80062
Diffstat (limited to 'sys/contrib/dev/acpica/hwsleep.c')
-rw-r--r--sys/contrib/dev/acpica/hwsleep.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/contrib/dev/acpica/hwsleep.c b/sys/contrib/dev/acpica/hwsleep.c
index d58e3a538cf5..cc4aae2761d3 100644
--- a/sys/contrib/dev/acpica/hwsleep.c
+++ b/sys/contrib/dev/acpica/hwsleep.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Name: hwsleep.c - ACPI Hardware Sleep/Wake Interface
- * $Revision: 12 $
+ * $Revision: 14 $
*
*****************************************************************************/
@@ -283,7 +283,7 @@ AcpiEnterSleepState (
PM1AControl |= (TypeA << AcpiHwGetBitShift (SLP_TYPE_X_MASK));
PM1BControl |= (TypeB << AcpiHwGetBitShift (SLP_TYPE_X_MASK));
- /* write #1: fill in SLP_TYPE data */
+ /* write #1: fill in SLP_TYP data */
AcpiHwRegisterWrite(ACPI_MTX_LOCK, PM1A_CONTROL, PM1AControl);
AcpiHwRegisterWrite(ACPI_MTX_LOCK, PM1B_CONTROL, PM1BControl);
@@ -291,10 +291,16 @@ AcpiEnterSleepState (
PM1AControl |= (1 << AcpiHwGetBitShift (SLP_EN_MASK));
PM1BControl |= (1 << AcpiHwGetBitShift (SLP_EN_MASK));
- /* write #2: the whole tamale */
+ /* write #2: SLP_TYP + SLP_EN */
AcpiHwRegisterWrite(ACPI_MTX_LOCK, PM1A_CONTROL, PM1AControl);
AcpiHwRegisterWrite(ACPI_MTX_LOCK, PM1B_CONTROL, PM1BControl);
+ /* wait a second, then try again */
+ AcpiOsStall(1000000);
+
+ AcpiHwRegisterWrite(ACPI_MTX_LOCK, PM1_CONTROL,
+ (1 << AcpiHwGetBitShift (SLP_EN_MASK)));
+
enable();
return_ACPI_STATUS (AE_OK);