diff options
Diffstat (limited to 'src/mainboard/lenovo')
-rw-r--r-- | src/mainboard/lenovo/t60/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/lenovo/x201/romstage.c | 6 | ||||
-rw-r--r-- | src/mainboard/lenovo/x60/romstage.c | 2 |
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 |