summaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/lenovo')
-rw-r--r--src/mainboard/lenovo/t60/romstage.c2
-rw-r--r--src/mainboard/lenovo/x201/romstage.c6
-rw-r--r--src/mainboard/lenovo/x60/romstage.c2
3 files changed, 7 insertions, 3 deletions
diff --git a/src/mainboard/lenovo/t60/romstage.c b/src/mainboard/lenovo/t60/romstage.c
index 1b7e693d80..dae917c925 100644
--- a/src/mainboard/lenovo/t60/romstage.c
+++ b/src/mainboard/lenovo/t60/romstage.c
@@ -321,7 +321,7 @@ void main(unsigned long bist)
MCHBAR16(SSKPD) = 0xCAFE;
- cbmem_was_initted = !cbmem_initialize();
+ cbmem_was_initted = !cbmem_recovery(boot_mode==2);
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
diff --git a/src/mainboard/lenovo/x201/romstage.c b/src/mainboard/lenovo/x201/romstage.c
index 18645acb05..7935e5618e 100644
--- a/src/mainboard/lenovo/x201/romstage.c
+++ b/src/mainboard/lenovo/x201/romstage.c
@@ -331,7 +331,11 @@ void main(unsigned long bist)
outl(reg32 & ~(7 << 10), DEFAULT_PMBASE + 0x04);
}
- cbmem_initted = !cbmem_initialize();
+ /* FIXME: If not in s3resume, raminit() calls cbmem_recovery(0),
+ * clears all of CBMEM region and puts in MRC training results.
+ * Tell here we are doing resume to avoid wiping CBMEM region
+ * again. */
+ cbmem_initted = !cbmem_recovery(1);
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
diff --git a/src/mainboard/lenovo/x60/romstage.c b/src/mainboard/lenovo/x60/romstage.c
index 26a7b9b6fa..1198fb2007 100644
--- a/src/mainboard/lenovo/x60/romstage.c
+++ b/src/mainboard/lenovo/x60/romstage.c
@@ -323,7 +323,7 @@ void main(unsigned long bist)
MCHBAR16(SSKPD) = 0xCAFE;
- cbmem_was_initted = !cbmem_initialize();
+ cbmem_was_initted = !cbmem_recovery(boot_mode==2);
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so