ACPI: Prepare for HAVE_ACPI_RESUME changes

Change-Id: I71d522b135dff8b3c287699cc649caece9e4342c
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/8186
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
Kyösti Mälkki 2015-01-09 23:55:09 +02:00
parent 054c83ac72
commit 7a846e7acc
2 changed files with 14 additions and 20 deletions

View File

@ -854,8 +854,8 @@ void acpi_resume(void *wake_vec)
acpi_jump_to_wakeup(wake_vec); acpi_jump_to_wakeup(wake_vec);
} }
/* This is to be filled by SB code - startup value what was found. */ /* This is filled with acpi_is_wakeup() call early in ramstage. */
u8 acpi_slp_type = 0; int acpi_slp_type = -1;
int __attribute__((weak)) acpi_get_sleep_type(void) int __attribute__((weak)) acpi_get_sleep_type(void)
{ {
@ -864,12 +864,8 @@ int __attribute__((weak)) acpi_get_sleep_type(void)
static void acpi_handoff_wakeup(void) static void acpi_handoff_wakeup(void)
{ {
static int once = 0; if (acpi_slp_type < 0)
if (once)
return;
acpi_slp_type = acpi_get_sleep_type(); acpi_slp_type = acpi_get_sleep_type();
once = 1;
} }
int acpi_is_wakeup(void) int acpi_is_wakeup(void)

View File

@ -559,14 +559,10 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest);
void acpi_save_gnvs(u32 gnvs_address); void acpi_save_gnvs(u32 gnvs_address);
#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME) /* cpu/intel/speedstep/acpi.c */
/* 0 = S0, 1 = S1 ...*/ void generate_cpu_entries(void);
extern u8 acpi_slp_type;
int acpi_is_wakeup(void);
int acpi_is_wakeup_s3(void);
int acpi_is_wakeup_early(void);
/* For ACPI S3 support. */
void acpi_fail_wakeup(void); void acpi_fail_wakeup(void);
void acpi_resume(void *wake_vec); void acpi_resume(void *wake_vec);
void acpi_prepare_resume_backup(void); void acpi_prepare_resume_backup(void);
@ -575,18 +571,20 @@ void *acpi_find_wakeup_vector(void);
void *acpi_get_wakeup_rsdp(void); void *acpi_get_wakeup_rsdp(void);
void acpi_jump_to_wakeup(void *wakeup_addr); void acpi_jump_to_wakeup(void *wakeup_addr);
/* Returns 0 = S0, 1 = S1 ... */
int acpi_get_sleep_type(void); int acpi_get_sleep_type(void);
#endif /* IS_ENABLED(CONFIG_HAVE_ACPI_RESUME) */
/* cpu/intel/speedstep/acpi.c */
void generate_cpu_entries(void);
static inline int acpi_s3_resume_allowed(void) static inline int acpi_s3_resume_allowed(void)
{ {
return IS_ENABLED(CONFIG_HAVE_ACPI_RESUME); return IS_ENABLED(CONFIG_HAVE_ACPI_RESUME);
} }
#if !IS_ENABLED(CONFIG_HAVE_ACPI_RESUME) #if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
extern int acpi_slp_type;
int acpi_is_wakeup(void);
int acpi_is_wakeup_s3(void);
int acpi_is_wakeup_early(void);
#else
#define acpi_slp_type 0 #define acpi_slp_type 0
static inline int acpi_is_wakeup(void) { return 0; } 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_s3(void) { return 0; }