summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@chromium.org>2018-01-25 18:23:15 +0100
committerPatrick Georgi <pgeorgi@google.com>2018-01-29 09:41:35 +0000
commit0f68b23aafc102926ccc833b228d098f5613f3e8 (patch)
treee269e4f69ee8258087d0dbeba08346a7b0f96986
parent26436fb09a5176d46e9057e19f6e262052e72b05 (diff)
intel: Prepare registers so Windows drivers are happier
Change-Id: I12ebed30de4df9814ccb62341c7715fc62c7f5b9 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati@intel.com> Reviewed-on: https://review.coreboot.org/23431 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
-rw-r--r--src/drivers/intel/gma/opregion.c1
-rw-r--r--src/soc/intel/apollolake/graphics.c2
-rw-r--r--src/soc/intel/braswell/acpi.c1
-rw-r--r--src/soc/intel/common/opregion.c2
-rw-r--r--src/soc/intel/skylake/graphics.c2
5 files changed, 7 insertions, 1 deletions
diff --git a/src/drivers/intel/gma/opregion.c b/src/drivers/intel/gma/opregion.c
index b6d4e07790..74c629c9c2 100644
--- a/src/drivers/intel/gma/opregion.c
+++ b/src/drivers/intel/gma/opregion.c
@@ -285,6 +285,7 @@ intel_gma_init_igd_opregion(igd_opregion_t *opregion)
opregion->header.mailboxes = MAILBOXES_MOBILE;
// TODO Initialize Mailbox 1
+ opregion->mailbox1.clid = 1;
// TODO Initialize Mailbox 3
opregion->mailbox3.bclp = IGD_BACKLIGHT_BRIGHTNESS;
diff --git a/src/soc/intel/apollolake/graphics.c b/src/soc/intel/apollolake/graphics.c
index 4fa525e6f1..55b98617f8 100644
--- a/src/soc/intel/apollolake/graphics.c
+++ b/src/soc/intel/apollolake/graphics.c
@@ -42,6 +42,8 @@ uintptr_t graphics_soc_write_acpi_opregion(struct device *device,
current += sizeof(igd_opregion_t);
+ opregion->mailbox1.clid = 1;
+
/* TODO Initialize Mailbox 3 */
opregion->mailbox3.bclp = IGD_BACKLIGHT_BRIGHTNESS;
opregion->mailbox3.pfit = IGD_FIELD_VALID | IGD_PFIT_STRETCH;
diff --git a/src/soc/intel/braswell/acpi.c b/src/soc/intel/braswell/acpi.c
index ada274144c..61ae20354c 100644
--- a/src/soc/intel/braswell/acpi.c
+++ b/src/soc/intel/braswell/acpi.c
@@ -480,6 +480,7 @@ static int update_igd_opregion(igd_opregion_t *opregion)
struct device *igd;
/* TODO Initialize Mailbox 1 */
+ opregion->mailbox1.clid = 1;
/* TODO Initialize Mailbox 3 */
opregion->mailbox3.bclp = IGD_BACKLIGHT_BRIGHTNESS;
diff --git a/src/soc/intel/common/opregion.c b/src/soc/intel/common/opregion.c
index b8111a0760..f35e12a0e7 100644
--- a/src/soc/intel/common/opregion.c
+++ b/src/soc/intel/common/opregion.c
@@ -58,7 +58,7 @@ enum cb_err init_igd_opregion(igd_opregion_t *opregion)
/* 8KiB */
opregion->header.size = sizeof(igd_opregion_t) / KiB;
- opregion->header.version = IGD_OPREGION_VERSION;
+ opregion->header.version = IGD_OPREGION_VERSION << 24;
/* FIXME We just assume we're mobile for now */
opregion->header.mailboxes = MAILBOXES_MOBILE;
diff --git a/src/soc/intel/skylake/graphics.c b/src/soc/intel/skylake/graphics.c
index 8e6d6ec3f2..f39f39c6a0 100644
--- a/src/soc/intel/skylake/graphics.c
+++ b/src/soc/intel/skylake/graphics.c
@@ -67,6 +67,8 @@ static void update_igd_opregion(igd_opregion_t *opregion)
{
u16 reg16;
+ opregion->mailbox1.clid = 1;
+
/* Initialize Mailbox 3 */
opregion->mailbox3.bclp = IGD_BACKLIGHT_BRIGHTNESS;
opregion->mailbox3.pfit = IGD_FIELD_VALID | IGD_PFIT_STRETCH;