summaryrefslogtreecommitdiff
path: root/src/include/elog.h
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2017-10-14 18:12:25 -0700
committerFurquan Shaikh <furquan@google.com>2017-10-19 00:42:49 +0000
commit2dc5eadccc29795a5923afaf2c7406ec98df482e (patch)
tree7f556a21745f2bbad77aaa37c47625bca4758025 /src/include/elog.h
parentf36ed21c573d62583ca2a86eed594acd149e0c4c (diff)
elog: Support logging S0ix sleep/wake info in elog
1. Add support for new GSMI commands to log S0ix entry/exit information in elog. 2. In case of resume, provide callbacks to allow platform and mainboard to log any wake source information. BUG=b:67874513 Change-Id: I593e8a9e31cad720ac1f77aab447a0dbdbe9a28b Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/22079 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/include/elog.h')
-rw-r--r--src/include/elog.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/include/elog.h b/src/include/elog.h
index bab7eb0594..0f6a811bbd 100644
--- a/src/include/elog.h
+++ b/src/include/elog.h
@@ -215,6 +215,10 @@ struct elog_event_mem_cache_update {
#define ELOG_EC_DEVICE_EVENT_DSP 0x02
#define ELOG_EC_DEVICE_EVENT_WIFI 0x03
+/* S0ix sleep/wake */
+#define ELOG_TYPE_S0IX_ENTER 0xaf
+#define ELOG_TYPE_S0IX_EXIT 0xb0
+
#if IS_ENABLED(CONFIG_ELOG)
/* Eventlog backing storage must be initialized before calling elog_init(). */
extern int elog_init(void);
@@ -249,4 +253,16 @@ extern u32 gsmi_exec(u8 command, u32 *param);
u32 boot_count_read(void);
u32 boot_count_increment(void);
+/*
+ * Callback from GSMI handler to allow platform to log any wake source
+ * information.
+ */
+void elog_gsmi_cb_platform_log_wake_source(void);
+
+/*
+ * Callback from GSMI handler to allow mainboard to log any wake source
+ * information.
+ */
+void elog_gsmi_cb_mainboard_log_wake_source(void);
+
#endif /* ELOG_H_ */