<p>Patrick Rudolph has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20436">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">drv/intel/gma/opregion: Add method to restore ASLS<br><br>Add a new method to restore ASLS on S3 resume.<br>Use new interface introduced in last commit.<br><br>Change-Id: I254683081cbaf3a5938794dcba140ac9ee07f48a<br>Signed-off-by: Patrick Rudolph <siro@das-labor.org><br>---<br>M src/drivers/intel/gma/opregion.c<br>M src/drivers/intel/gma/opregion.h<br>2 files changed, 17 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/36/20436/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/drivers/intel/gma/opregion.c b/src/drivers/intel/gma/opregion.c<br>index 7871981..503f729 100644<br>--- a/src/drivers/intel/gma/opregion.c<br>+++ b/src/drivers/intel/gma/opregion.c<br>@@ -18,6 +18,8 @@<br> #include <device/pci.h><br> #include <device/pci_ids.h><br> #include <device/pci_ops.h><br>+#include <console/console.h><br>+#include <cbmem.h><br> #include "opregion.h"<br> <br> /* Write ASLS PCI register and prepare SWSCI register. */<br>@@ -47,3 +49,17 @@<br>   reg16 |= SMISCISEL;<br>   pci_write_config16(igd, SWSCI, reg16);<br> }<br>+<br>+/* Restore ASLS register on S3 resume and prepare SWSCI. */<br>+void<br>+intel_gma_restore_opregion(void)<br>+{<br>+    if (acpi_is_wakeup_s3()) {<br>+           const void *const gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);<br>+<br>+          if (gnvs && gma_get_gnvs_aslb(gnvs))<br>+                 intel_gma_opregion_register(gma_get_gnvs_aslb(gnvs));<br>+                else<br>+                 printk(BIOS_ERR, "Error: GNVS or ASLB not set.\n");<br>+        }<br>+}<br>diff --git a/src/drivers/intel/gma/opregion.h b/src/drivers/intel/gma/opregion.h<br>index ff64aec..3e9ffd3 100644<br>--- a/src/drivers/intel/gma/opregion.h<br>+++ b/src/drivers/intel/gma/opregion.h<br>@@ -246,6 +246,7 @@<br> } __attribute__((packed)) optionrom_vbt_t;<br> <br> void intel_gma_opregion_register(uintptr_t opregion);<br>+void intel_gma_restore_opregion(void);<br> uintptr_t gma_get_gnvs_aslb(const void *gnvs);<br> void gma_set_gnvs_aslb(const void *gnvs, uintptr_t aslb);<br> <br></pre><p>To view, visit <a href="https://review.coreboot.org/20436">change 20436</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/20436"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I254683081cbaf3a5938794dcba140ac9ee07f48a </div>
<div style="display:none"> Gerrit-Change-Number: 20436 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Patrick Rudolph <siro@das-labor.org> </div>