[coreboot-gerrit] Change in coreboot[master]: [WIP] nb/haswell: use GMA common OpRegion

Matt DeVillier (Code Review) gerrit at coreboot.org
Tue Jun 27 20:19:47 CEST 2017


Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/20395


Change subject: [WIP] nb/haswell: use GMA common OpRegion
......................................................................

[WIP] nb/haswell: use GMA common OpRegion

Add update_igd_opregion() to handle platform-specific
mailbox data.

Change-Id: Id1d8829d8e8542a165d5eb57725f211c4ae56cf8
Signed-off-by: Matt DeVillier <matt.devillier at gmail.com>
---
M src/northbridge/intel/haswell/Kconfig
M src/northbridge/intel/haswell/gma.c
2 files changed, 36 insertions(+), 2 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/95/20395/1

diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig
index 90f8774..d6cf0d7 100644
--- a/src/northbridge/intel/haswell/Kconfig
+++ b/src/northbridge/intel/haswell/Kconfig
@@ -17,7 +17,7 @@
 	bool
 	select CPU_INTEL_HASWELL
 	select NORTHBRIDGE_INTEL_COMMON_MRC_CACHE
-	select NORTHBRIDGE_INTEL_COMMON_GMA_OPREGION
+	select INTEL_GMA_OPREGION
 	select INTEL_DDI
 	select INTEL_GMA_ACPI
 	select RELOCATABLE_RAMSTAGE
diff --git a/src/northbridge/intel/haswell/gma.c b/src/northbridge/intel/haswell/gma.c
index 0dcd82a..ef80f77 100644
--- a/src/northbridge/intel/haswell/gma.c
+++ b/src/northbridge/intel/haswell/gma.c
@@ -23,7 +23,7 @@
 #include <drivers/intel/gma/i915_reg.h>
 #include <drivers/intel/gma/i915.h>
 #include <cpu/intel/haswell/haswell.h>
-#include <northbridge/intel/common/gma_opregion.h>
+#include <drivers/intel/gma/opregion.h>
 #include <stdlib.h>
 #include <string.h>
 #include <southbridge/intel/lynxpoint/nvs.h>
@@ -524,6 +524,39 @@
 	drivers_intel_gma_displays_ssdt_generate(gfx);
 }
 
+/* Initialize IGD OpRegion, called from ACPI code */
+static void
+update_igd_opregion(igd_opregion_t *opregion)
+{
+	/* We just assume we're mobile for now */
+	opregion->header.mailboxes = MAILBOXES_MOBILE;
+
+	//From Intel OpRegion reference doc
+ 	opregion->header.pcon = 279;
+
+ 	// Initialize Mailbox 1
+ 	opregion->mailbox1.clid = 1;
+
+	/* Initialize Mailbox 3 */
+	opregion->mailbox3.bclp = IGD_BACKLIGHT_BRIGHTNESS;
+	opregion->mailbox3.pfit = IGD_FIELD_VALID | IGD_PFIT_STRETCH;
+	opregion->mailbox3.pcft = 0; /* should be (IMON << 1) & 0x3e */
+	opregion->mailbox3.cblv = IGD_FIELD_VALID | IGD_INITIAL_BRIGHTNESS;
+	opregion->mailbox3.bclm[0] = IGD_WORD_FIELD_VALID + 0x0000;
+	opregion->mailbox3.bclm[1] = IGD_WORD_FIELD_VALID + 0x0a19;
+	opregion->mailbox3.bclm[2] = IGD_WORD_FIELD_VALID + 0x1433;
+	opregion->mailbox3.bclm[3] = IGD_WORD_FIELD_VALID + 0x1e4c;
+	opregion->mailbox3.bclm[4] = IGD_WORD_FIELD_VALID + 0x2866;
+	opregion->mailbox3.bclm[5] = IGD_WORD_FIELD_VALID + 0x327f;
+	opregion->mailbox3.bclm[6] = IGD_WORD_FIELD_VALID + 0x3c99;
+	opregion->mailbox3.bclm[7] = IGD_WORD_FIELD_VALID + 0x46b2;
+	opregion->mailbox3.bclm[8] = IGD_WORD_FIELD_VALID + 0x50cc;
+	opregion->mailbox3.bclm[9] = IGD_WORD_FIELD_VALID + 0x5ae5;
+	opregion->mailbox3.bclm[10] = IGD_WORD_FIELD_VALID + 0x64ff;
+
+	intel_gma_opregion_register((uintptr_t)opregion);
+}
+
 static unsigned long
 gma_write_acpi_tables(struct device *const dev,
 		      unsigned long current,
@@ -534,6 +567,7 @@
 
 	if (init_igd_opregion(opregion) != CB_SUCCESS)
 		return current;
+	update_igd_opregion(opregion);
 
 	current += sizeof(igd_opregion_t);
 

-- 
To view, visit https://review.coreboot.org/20395
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id1d8829d8e8542a165d5eb57725f211c4ae56cf8
Gerrit-Change-Number: 20395
Gerrit-PatchSet: 1
Gerrit-Owner: Matt DeVillier <matt.devillier at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170627/5b17d35f/attachment-0001.html>


More information about the coreboot-gerrit mailing list