aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake/elog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/skylake/elog.c')
-rw-r--r--src/soc/intel/skylake/elog.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/soc/intel/skylake/elog.c b/src/soc/intel/skylake/elog.c
index 8d5d4fec63..562df08a52 100644
--- a/src/soc/intel/skylake/elog.c
+++ b/src/soc/intel/skylake/elog.c
@@ -79,8 +79,12 @@ static void pch_log_power_and_resets(struct chipset_power_state *ps)
elog_add_event(ELOG_TYPE_POWER_FAIL);
/* SUS Well Power Failure */
- if (ps->gen_pmcon_b & SUS_PWR_FLR)
- elog_add_event(ELOG_TYPE_SUS_POWER_FAIL);
+ if (ps->gen_pmcon_b & SUS_PWR_FLR) {
+ /* Do not log SUS_PWR_FLR if waking from deep Sx */
+ if (!(ps->prev_sleep_state == ACPI_S3 && deep_s3_enabled()) &&
+ !(ps->prev_sleep_state == ACPI_S5 && deep_s5_enabled()))
+ elog_add_event(ELOG_TYPE_SUS_POWER_FAIL);
+ }
/* TCO Timeout */
if (ps->prev_sleep_state != ACPI_S3 &&
@@ -122,4 +126,4 @@ static void pch_log_state(void *unused)
pch_log_wake_source(ps);
}
-BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_ENTRY, pch_log_state, NULL);
+BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT, pch_log_state, NULL);