summaryrefslogtreecommitdiff
path: root/src/northbridge
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2021-02-24 23:08:27 +0100
committerPatrick Georgi <pgeorgi@google.com>2021-02-27 09:39:13 +0000
commit4447996cc582d2c8745802b84b1f5a635e33a22a (patch)
tree9c6f83f01aa0649478175149e62469d88bfa23e8 /src/northbridge
parent8fec6a87df6769b1579b803958653a816a405a94 (diff)
nb/intel/ironlake: Handle broken ME firmware
This allows booting without ME firmware, even though the 30-minute auto-shutdown still happens. Without this patch, an HP ProBook 6550b cannot get past the `setup_heci_uma` function call. Change-Id: I446c02ac6034ede75cb873a2e676c40e4ef84b7c Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/51072 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/northbridge')
-rw-r--r--src/northbridge/intel/ironlake/raminit.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/northbridge/intel/ironlake/raminit.c b/src/northbridge/intel/ironlake/raminit.c
index 9ba21d06b8..a5de86a7db 100644
--- a/src/northbridge/intel/ironlake/raminit.c
+++ b/src/northbridge/intel/ironlake/raminit.c
@@ -1725,7 +1725,7 @@ static void send_heci_uma_message(const u64 heci_uma_addr, const unsigned int he
static void setup_heci_uma(struct raminfo *info)
{
- if (!info->memory_reserved_for_heci_mb && !(pci_read_config32(HECIDEV, 0x40) & 0x20))
+ if (!info->memory_reserved_for_heci_mb || !(pci_read_config32(HECIDEV, 0x40) & 0x20))
return;
const u64 heci_uma_addr =
@@ -3215,8 +3215,10 @@ void raminit(const int s3resume, const u8 *spd_addrmap)
;
/* Wait for ME to be ready */
- intel_early_me_init();
- info.memory_reserved_for_heci_mb = intel_early_me_uma_size();
+ if (intel_early_me_init() == 0)
+ info.memory_reserved_for_heci_mb = intel_early_me_uma_size();
+ else
+ info.memory_reserved_for_heci_mb = 0;
/* before SPD */
timestamp_add_now(101);