summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-04-19 15:10:14 -0500
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-04-20 21:46:26 +0200
commit0a57e999b75d733669383bdc5d4c693b1d675a5d (patch)
treef310e3925d61878c59cd573caaae923a212b5577 /src/mainboard
parentcf1f9b6a5bd1be169756dd1cd9568492a880651c (diff)
hp/pavilion_m6_1035dx: Do not re-init EC and lid SMI on S3 resume
It's not needed, and puts the EC back into APM mode. The EC does not shut down during S3 sleep, so we don't need to re-initialize it. Lid SMI will have been disabled in the switch to ACPI mode, don't re-enable it. Change-Id: I2c06df140f63427dac32ae095d29e68f64135358 Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-on: http://review.coreboot.org/5555 Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/hp/pavilion_m6_1035dx/mainboard.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/mainboard/hp/pavilion_m6_1035dx/mainboard.c b/src/mainboard/hp/pavilion_m6_1035dx/mainboard.c
index 2e8436bc82..81260f16c2 100644
--- a/src/mainboard/hp/pavilion_m6_1035dx/mainboard.c
+++ b/src/mainboard/hp/pavilion_m6_1035dx/mainboard.c
@@ -32,19 +32,21 @@
#include <southbridge/amd/agesa/hudson/smi.h>
-/*************************************************
- * enable the dedicated function in parmer board.
- *************************************************/
+
+static void pavilion_cold_boot_init(void)
+{
+ /* Lid SMI is only used in non-ACPI mode; leave it off in S3 resume */
+ hudson_configure_gevent_smi(EC_LID_GEVENT, SMI_MODE_SMI, SMI_LVL_LOW);
+ /* EC is not powered off during S3 sleep */
+ pavilion_m6_1035dx_ec_init();
+}
+
static void mainboard_enable(device_t dev)
{
printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n");
- pavilion_m6_1035dx_ec_init();
-
hudson_configure_gevent_smi(EC_SMI_GEVENT, SMI_MODE_SMI, SMI_LVL_HIGH);
- hudson_configure_gevent_smi(EC_LID_GEVENT, SMI_MODE_SMI, SMI_LVL_LOW);
hudson_enable_smi_generation();
-
/*
* The mainboard is the first place that we get control in ramstage. Check
* for S3 resume and call the approriate AGESA/CIMx resume functions.
@@ -53,7 +55,10 @@ static void mainboard_enable(device_t dev)
acpi_slp_type = acpi_get_sleep_type();
if (acpi_slp_type == 3)
agesawrapper_fchs3earlyrestore();
+ else
#endif
+ pavilion_cold_boot_init();
+
}
struct chip_operations mainboard_ops = {