<p>Patrick Rudolph has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20435">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">drv/intel/gma/opregion: Add interface for GNVS ASLB handling<br><br>Add new interface to set and get GNVS' ASLB register.<br>To be used by Intel's gma driver to set ASLB at ACPI table<br>creation and to get ASLB on S3 resume.<br><br>Change-Id: If30c6b2270069783b0892774802f47406404da5f<br>Signed-off-by: Patrick Rudolph <siro@das-labor.org><br>---<br>M src/drivers/intel/gma/opregion.h<br>M src/northbridge/intel/fsp_sandybridge/gma.c<br>M src/northbridge/intel/haswell/gma.c<br>M src/northbridge/intel/nehalem/gma.c<br>M src/northbridge/intel/sandybridge/gma.c<br>5 files changed, 54 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/35/20435/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/drivers/intel/gma/opregion.h b/src/drivers/intel/gma/opregion.h<br>index c590805..ff64aec 100644<br>--- a/src/drivers/intel/gma/opregion.h<br>+++ b/src/drivers/intel/gma/opregion.h<br>@@ -246,5 +246,7 @@<br> } __attribute__((packed)) optionrom_vbt_t;<br> <br> void intel_gma_opregion_register(uintptr_t opregion);<br>+uintptr_t gma_get_gnvs_aslb(const void *gnvs);<br>+void gma_set_gnvs_aslb(const void *gnvs, uintptr_t aslb);<br> <br> #endif /* _COMMON_GMA_H_ */<br>diff --git a/src/northbridge/intel/fsp_sandybridge/gma.c b/src/northbridge/intel/fsp_sandybridge/gma.c<br>index 8e2d968..daff050 100644<br>--- a/src/northbridge/intel/fsp_sandybridge/gma.c<br>+++ b/src/northbridge/intel/fsp_sandybridge/gma.c<br>@@ -53,6 +53,19 @@<br>    return new_vendev;<br> }<br> <br>+uintptr_t gma_get_gnvs_aslb(const void *gnvs)<br>+{<br>+        const global_nvs_t gnvs_ptr = gnvs;<br>+  return gnvs_ptr ? (uintptr_t)gnvs_ptr->aslb : NULL;<br>+}<br>+<br>+void gma_set_gnvs_aslb(const void *gnvs, uintptr_t aslb)<br>+{<br>+ const global_nvs_t gnvs_ptr = gnvs;<br>+  if (gnvs_ptr)<br>+                gnvs_ptr->aslb = (u32)aslb;<br>+}<br>+<br> static void gma_set_subsystem(device_t dev, unsigned vendor, unsigned device)<br> {<br>     if (!vendor || !device) {<br>diff --git a/src/northbridge/intel/haswell/gma.c b/src/northbridge/intel/haswell/gma.c<br>index f22ff48..709c46b 100644<br>--- a/src/northbridge/intel/haswell/gma.c<br>+++ b/src/northbridge/intel/haswell/gma.c<br>@@ -215,6 +215,19 @@<br>  return 0;<br> }<br> <br>+uintptr_t gma_get_gnvs_aslb(const void *gnvs)<br>+{<br>+ const global_nvs_t gnvs_ptr = gnvs;<br>+  return gnvs_ptr ? (uintptr_t)gnvs_ptr->aslb : NULL;<br>+}<br>+<br>+void gma_set_gnvs_aslb(const void *gnvs, uintptr_t aslb)<br>+{<br>+ const global_nvs_t gnvs_ptr = gnvs;<br>+  if (gnvs_ptr)<br>+                gnvs_ptr->aslb = (u32)aslb;<br>+}<br>+<br> static void power_well_enable(void)<br> {<br>       gtt_write(HSW_PWR_WELL_CTL1, HSW_PWR_WELL_ENABLE);<br>diff --git a/src/northbridge/intel/nehalem/gma.c b/src/northbridge/intel/nehalem/gma.c<br>index fa84f78..2aeec70 100644<br>--- a/src/northbridge/intel/nehalem/gma.c<br>+++ b/src/northbridge/intel/nehalem/gma.c<br>@@ -304,6 +304,19 @@<br>         return 0;<br> }<br> <br>+uintptr_t gma_get_gnvs_aslb(const void *gnvs)<br>+{<br>+ const global_nvs_t gnvs_ptr = gnvs;<br>+  return gnvs_ptr ? (uintptr_t)gnvs_ptr->aslb : NULL;<br>+}<br>+<br>+void gma_set_gnvs_aslb(const void *gnvs, uintptr_t aslb)<br>+{<br>+ const global_nvs_t gnvs_ptr = gnvs;<br>+  if (gnvs_ptr)<br>+                gnvs_ptr->aslb = (u32)aslb;<br>+}<br>+<br> static void gma_pm_init_pre_vbios(struct device *dev)<br> {<br>     u32 reg32;<br>diff --git a/src/northbridge/intel/sandybridge/gma.c b/src/northbridge/intel/sandybridge/gma.c<br>index 9611e64..0f91be0 100644<br>--- a/src/northbridge/intel/sandybridge/gma.c<br>+++ b/src/northbridge/intel/sandybridge/gma.c<br>@@ -311,6 +311,19 @@<br>         return 0;<br> }<br> <br>+uintptr_t gma_get_gnvs_aslb(const void *gnvs)<br>+{<br>+ const global_nvs_t gnvs_ptr = gnvs;<br>+  return gnvs_ptr ? (uintptr_t)gnvs_ptr->aslb : NULL;<br>+}<br>+<br>+void gma_set_gnvs_aslb(const void *gnvs, uintptr_t aslb)<br>+{<br>+ const global_nvs_t gnvs_ptr = gnvs;<br>+  if (gnvs_ptr)<br>+                gnvs_ptr->aslb = (u32)aslb;<br>+}<br>+<br> static void gma_pm_init_pre_vbios(struct device *dev)<br> {<br>     u32 reg32;<br></pre><p>To view, visit <a href="https://review.coreboot.org/20435">change 20435</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/20435"/><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: If30c6b2270069783b0892774802f47406404da5f </div>
<div style="display:none"> Gerrit-Change-Number: 20435 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Patrick Rudolph <siro@das-labor.org> </div>