diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2016-09-19 12:04:19 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2016-09-21 10:46:00 +0200 |
commit | 1f6e6813554606bb23481fe64401809ab43bdcc7 (patch) | |
tree | be7c0f835040a9c5360d74869c82597506cc8381 | |
parent | f235a9b1b06a6374d473c9f610eb945cf4633c74 (diff) |
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>
-rw-r--r-- | src/arch/x86/acpi.c | 5 | ||||
-rw-r--r-- | src/arch/x86/include/arch/acpi.h | 3 |
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); |