x86: acpi: Add function for querying GPE status
Add a function that can be implemented by the SOC to read
and clear the status of a single GPE. This can be used
during firmware to poll for interrupt status.
BUG=chrome-os-partner:53336
Change-Id: I551276f36ff0d2eb5b5ea13f019cdf4a3c749a09
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/16669
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index bbeb92f..edb6835 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -1093,3 +1093,8 @@
if (gnvs)
*gnvs = gnvs_address;
}
+
+__attribute__ ((weak)) int acpi_get_gpe(int gpe)
+{
+ return -1; /* implemented by SOC */
+}
diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h
index e81ddbf..7d29931 100644
--- a/src/arch/x86/include/arch/acpi.h
+++ b/src/arch/x86/include/arch/acpi.h
@@ -677,6 +677,9 @@
/* Returns ACPI_Sx values. */
int acpi_get_sleep_type(void);
+/* Read and clear GPE status */
+int acpi_get_gpe(int gpe);
+
static inline int acpi_s3_resume_allowed(void)
{
return IS_ENABLED(CONFIG_HAVE_ACPI_RESUME);