diff options
author | Furquan Shaikh <furquan@google.com> | 2018-03-25 22:19:47 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2018-03-27 06:10:14 +0000 |
commit | be045833316c7fe71621366ed2934e6cf6385a44 (patch) | |
tree | 4358db7d7e241892743b854aa4d65981fd877c74 | |
parent | b7b49b00de46f8ff2816554ed939260be8a646d5 (diff) | |
download | coreboot-be045833316c7fe71621366ed2934e6cf6385a44.tar.xz |
soc/intel/skylake: Do a heci_reset before reading ME firmware version
This change adds a call to heci_reset before attempting to read
ME firmware version. This is important to ensure that both ME and BIOS
are in sync.
BUG=b:76167737
BRANCH=poppy
TEST=Verfied that ME firmware version read does not fail on first boot
after power failure (i.e. removing battery and AC power).
Change-Id: Ib6b39c398d2e1177b087352a4acb8bcf5a9897d6
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/25362
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r-- | src/soc/intel/skylake/me.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/soc/intel/skylake/me.c b/src/soc/intel/skylake/me.c index 67d7bc0362..9a721bced1 100644 --- a/src/soc/intel/skylake/me.c +++ b/src/soc/intel/skylake/me.c @@ -254,6 +254,12 @@ static void print_me_version(void *unused) (hfs.fields.operation_mode != ME_HFS_MODE_NORMAL)) goto failed; + /* + * It is important to do a heci_reset to ensure BIOS and ME are in sync + * before reading firmware version. + */ + heci_reset(); + if (!heci_send(&fw_ver_msg, sizeof(fw_ver_msg), BIOS_HOST_ADD, HECI_MKHI_ADD)) goto failed; |