summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2016-09-19 12:04:19 -0700
committerDuncan Laurie <dlaurie@chromium.org>2016-09-19 19:03:34 -0700
commit884dfe632940b940df68d09f997fa5cd25121def (patch)
tree6f060e8feef4cec37b0085e878769136686e59ee /src
parent1241e7db55aff313e56bf4546d969c11368b08a2 (diff)
downloadcoreboot-884dfe632940b940df68d09f997fa5cd25121def.tar.xz
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: I536c2176320fefa4c186dabcdddb55880c47fbad Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/acpi.c5
-rw-r--r--src/arch/x86/include/arch/acpi.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index bbeb92f3ba..edb6835dc8 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -1093,3 +1093,8 @@ void acpi_save_gnvs(u32 gnvs_address)
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 e81ddbf02f..7d2993162d 100644
--- a/src/arch/x86/include/arch/acpi.h
+++ b/src/arch/x86/include/arch/acpi.h
@@ -677,6 +677,9 @@ static inline int acpi_sleep_from_pm1(uint32_t pm1_cnt)
/* 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);