summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-07-13 12:08:33 -0500
committerAaron Durbin <adurbin@chromium.org>2016-07-15 08:30:13 +0200
commit95c4344a2092bd9fd5eca74d23d0c270628f66d2 (patch)
tree81d73fb5f4f8ca621d85bae81349222518a46976 /src/arch/x86
parentab1960c08af91d7d65c8108c2c3710b014194c78 (diff)
downloadcoreboot-95c4344a2092bd9fd5eca74d23d0c270628f66d2.tar.xz
arch/x86: provide common ACPI_Sx constants
Instead of open coding the literal values provide more semantic symbol to be used. This will allow for aligning chipset code with this as well to reduce duplication. BUG=chrome-os-partner:54977 Change-Id: I022bf1eb258f7244f2e5aa2fb72b7b82e1900a5c Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/15663 Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/acpi_s3.c16
-rw-r--r--src/arch/x86/include/arch/acpi.h15
2 files changed, 20 insertions, 11 deletions
diff --git a/src/arch/x86/acpi_s3.c b/src/arch/x86/acpi_s3.c
index 7855a2f28d..c327cbd93a 100644
--- a/src/arch/x86/acpi_s3.c
+++ b/src/arch/x86/acpi_s3.c
@@ -36,13 +36,13 @@ int acpi_get_sleep_type(void)
if (handoff == NULL) {
printk(BIOS_DEBUG, "Unknown boot method, assuming normal.\n");
- return 0;
+ return ACPI_S0;
} else if (handoff->s3_resume) {
printk(BIOS_DEBUG, "S3 Resume.\n");
- return 3;
+ return ACPI_S3;
} else {
printk(BIOS_DEBUG, "Normal boot.\n");
- return 0;
+ return ACPI_S0;
}
}
#endif
@@ -57,25 +57,25 @@ int acpi_is_wakeup(void)
{
acpi_handoff_wakeup();
/* Both resume from S2 and resume from S3 restart at CPU reset */
- return (acpi_slp_type == 3 || acpi_slp_type == 2);
+ return (acpi_slp_type == ACPI_S3 || acpi_slp_type == ACPI_S2);
}
int acpi_is_wakeup_s3(void)
{
acpi_handoff_wakeup();
- return (acpi_slp_type == 3);
+ return (acpi_slp_type == ACPI_S3);
}
int acpi_is_wakeup_s4(void)
{
acpi_handoff_wakeup();
- return (acpi_slp_type == 4);
+ return (acpi_slp_type == ACPI_S4);
}
void acpi_fail_wakeup(void)
{
- if (acpi_slp_type == 3 || acpi_slp_type == 2)
- acpi_slp_type = 0;
+ if (acpi_slp_type == ACPI_S3 || acpi_slp_type == ACPI_S2)
+ acpi_slp_type = ACPI_S0;
}
#endif /* ENV_RAMSTAGE */
diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h
index 7434000560..03cd70948e 100644
--- a/src/arch/x86/include/arch/acpi.h
+++ b/src/arch/x86/include/arch/acpi.h
@@ -615,7 +615,16 @@ void acpi_prepare_resume_backup(void);
void mainboard_suspend_resume(void);
void *acpi_find_wakeup_vector(void);
-/* Returns 0 = S0, 1 = S1 ... */
+enum {
+ ACPI_S0,
+ ACPI_S1,
+ ACPI_S2,
+ ACPI_S3,
+ ACPI_S4,
+ ACPI_S5,
+};
+
+/* Returns ACPI_Sx values. */
int acpi_get_sleep_type(void);
static inline int acpi_s3_resume_allowed(void)
@@ -629,7 +638,7 @@ extern int acpi_slp_type;
#ifdef __PRE_RAM__
static inline int acpi_is_wakeup_s3(void)
{
- return (acpi_get_sleep_type() == 3);
+ return (acpi_get_sleep_type() == ACPI_S3);
}
#else
int acpi_is_wakeup(void);
@@ -639,7 +648,7 @@ int acpi_is_wakeup_s4(void);
void acpi_prepare_for_resume(void);
#else
-#define acpi_slp_type 0
+#define acpi_slp_type ACPI_S0
static inline int acpi_is_wakeup(void) { return 0; }
static inline int acpi_is_wakeup_s3(void) { return 0; }
static inline int acpi_is_wakeup_s4(void) { return 0; }