baytrail: ensure init_chromeos() is called in romstage
The TPM needs to have the TPM_Startup command sent to it
on all boot paths. The call init_chromeos() in romstage_common()
fulfills this requirement.
BUG=chrome-os-partner:24057
BRANCH=None
TEST=Built and booted. Was able to suspend to ram multiple times
in a row.
Change-Id: Id0339a9d82897249d20ff5f62d2dcb8b535310fa
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/176803
Reviewed-by: Todd Broch <tbroch@chromium.org>
Tested-by: Todd Broch <tbroch@chromium.org>
Reviewed-by: Shawn Nematbakhsh <shawnn@chromium.org>
This commit is contained in:
parent
816e8a5e8b
commit
37e1f42d28
1 changed files with 12 additions and 0 deletions
|
|
@ -167,6 +167,16 @@ static int chipset_prev_sleep_state(void)
|
|||
return prev_sleep_state;
|
||||
}
|
||||
|
||||
#if CONFIG_CHROMEOS
|
||||
static inline void chromeos_init(int prev_sleep_state)
|
||||
{
|
||||
/* Normalize the sleep state to what init_chromeos() wants for S3: 2. */
|
||||
init_chromeos(prev_sleep_state == 3 ? 2 : 0);
|
||||
}
|
||||
#else
|
||||
static inline void chromeos_init(int prev_sleep_state) {}
|
||||
#endif
|
||||
|
||||
/* Entry from the mainboard. */
|
||||
void romstage_common(struct romstage_params *params)
|
||||
{
|
||||
|
|
@ -194,6 +204,8 @@ void romstage_common(struct romstage_params *params)
|
|||
else
|
||||
printk(BIOS_DEBUG, "Romstage handoff structure not added!\n");
|
||||
|
||||
chromeos_init(prev_sleep_state);
|
||||
|
||||
/* Save timestamp information. */
|
||||
timestamp_init(params->ts.times[0]);
|
||||
timestamp_add(TS_START_ROMSTAGE, params->ts.times[1]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue