aboutsummaryrefslogtreecommitdiff
path: root/resources/libreboot/patch/kgpe-d16/0022-cpu-amd-car-Add-initial-Suspend-to-RAM-S3-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'resources/libreboot/patch/kgpe-d16/0022-cpu-amd-car-Add-initial-Suspend-to-RAM-S3-support.patch')
-rw-r--r--resources/libreboot/patch/kgpe-d16/0022-cpu-amd-car-Add-initial-Suspend-to-RAM-S3-support.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/resources/libreboot/patch/kgpe-d16/0022-cpu-amd-car-Add-initial-Suspend-to-RAM-S3-support.patch b/resources/libreboot/patch/kgpe-d16/0022-cpu-amd-car-Add-initial-Suspend-to-RAM-S3-support.patch
new file mode 100644
index 00000000..3afb5d5c
--- /dev/null
+++ b/resources/libreboot/patch/kgpe-d16/0022-cpu-amd-car-Add-initial-Suspend-to-RAM-S3-support.patch
@@ -0,0 +1,56 @@
+From 9731b8e1e997c083bb2084085fb6d4c46d96910f Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineeringinc.com>
+Date: Sat, 5 Sep 2015 18:46:24 -0500
+Subject: [PATCH 022/143] cpu/amd/car: Add initial Suspend to RAM (S3) support
+
+Change-Id: I1e1a67fa3c2c13cebcf8f0af318055b9d97d0a59
+Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
+---
+ src/cpu/amd/car/post_cache_as_ram.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/cpu/amd/car/post_cache_as_ram.c b/src/cpu/amd/car/post_cache_as_ram.c
+index 230d1aa..e265de1 100644
+--- a/src/cpu/amd/car/post_cache_as_ram.c
++++ b/src/cpu/amd/car/post_cache_as_ram.c
+@@ -1,4 +1,5 @@
+ /* Copyright (C) 2015 Timothy Pearson <tpearson@raptorengineeringinc.com>, Raptor Engineering
++ * Copyright (C) 2012 ChromeOS Authors
+ * 2005.6 by yhlu
+ * 2006.3 yhlu add copy data from CAR to ram
+ */
+@@ -9,6 +10,7 @@
+ #include <cpu/amd/mtrr.h>
+ #include <cpu/amd/car.h>
+ #include <arch/acpi.h>
++#include <romstage_handoff.h>
+ #include "cbmem.h"
+ #include "cpu/amd/car/disable_cache_as_ram.c"
+
+@@ -103,6 +105,13 @@ void post_cache_as_ram(void)
+ {
+ void *resume_backup_memory = NULL;
+
++ struct romstage_handoff *handoff;
++ handoff = romstage_handoff_find_or_add();
++ if (handoff != NULL)
++ handoff->s3_resume = acpi_is_wakeup_s3();
++ else
++ printk(BIOS_DEBUG, "Romstage handoff structure not added!\n");
++
+ int s3resume = acpi_is_wakeup_s3();
+ if (s3resume) {
+ cbmem_recovery(s3resume);
+@@ -150,6 +159,9 @@ void cache_as_ram_new_stack (void)
+
+ if (acpi_is_wakeup_s3()) {
+ resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
++#if PRINTK_IN_CAR
++ printk(BIOS_DEBUG, "Resume backup memory location: %p\n", resume_backup_memory);
++#endif
+ }
+ prepare_ramstage_region(resume_backup_memory);
+
+--
+1.7.9.5
+