i82801gx: enable ACPI during S3 resume

disabling ACPI during S3 wakeup breaks ACPI wakeup, as the
Host OS is assuming that ACPI is enabled.

Change-Id: I8ced72c4b553d41a57f26d64998118e8a77621f8
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/7
Tested-by: build bot (Jenkins)
This commit is contained in:
Sven Schnelle 2011-06-05 11:39:12 +02:00
parent f4dc1a73e4
commit e261807bac
1 changed files with 5 additions and 0 deletions

View File

@ -341,6 +341,7 @@ static void i82801gx_lock_smm(struct device *dev)
u8 reg8; u8 reg8;
#endif #endif
if (acpi_slp_type != 3) {
#if ENABLE_ACPI_MODE_IN_COREBOOT #if ENABLE_ACPI_MODE_IN_COREBOOT
printk(BIOS_DEBUG, "Enabling ACPI via APMC:\n"); printk(BIOS_DEBUG, "Enabling ACPI via APMC:\n");
outb(APM_CNT_ACPI_ENABLE, APM_CNT); // Enable ACPI mode outb(APM_CNT_ACPI_ENABLE, APM_CNT); // Enable ACPI mode
@ -350,6 +351,10 @@ static void i82801gx_lock_smm(struct device *dev)
outb(APM_CNT_ACPI_DISABLE, APM_CNT); // Disable ACPI mode outb(APM_CNT_ACPI_DISABLE, APM_CNT); // Disable ACPI mode
printk(BIOS_DEBUG, "done.\n"); printk(BIOS_DEBUG, "done.\n");
#endif #endif
} else {
printk(BIOS_DEBUG, "S3 wakeup, enabling ACPI via APMC\n");
outb(APM_CNT_ACPI_ENABLE, APM_CNT);
}
/* Don't allow evil boot loaders, kernels, or /* Don't allow evil boot loaders, kernels, or
* userspace applications to deceive us: * userspace applications to deceive us:
*/ */