From df7561552f09c01b739ad65b490c4d7039cb7b6a Mon Sep 17 00:00:00 2001
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Date: Sat, 16 Mar 2024 09:27:58 +0100
Subject: drivers/intel/gma/acpi: Limit OpRegion size

Limit the ACPI OpRegion to cover only MBOX3. This seems to fix
BSOD errors seen on Windows 10/11 as reported at [1].

1: https://ticket.coreboot.org/issues/327

Change-Id: Ia2affa799e5cd84c0a03330e0f78919755f0e8ac
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81295
Reviewed-by: Joel Linn <jl_coreboot@conductive.de>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
---
 src/drivers/intel/gma/acpi/configure_brightness_levels.asl | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/drivers/intel/gma/acpi/configure_brightness_levels.asl b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
index 3a097e336f..a35ffe3863 100644
--- a/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
+++ b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
@@ -10,8 +10,11 @@
 	Device (BOX3)
 	{
 		Name (_ADR, 0)
-
-		OperationRegion (OPRG, SystemMemory, ASLS, 0x2000)
+		/*
+		 * Only cover MBOX3 since Windows 10/11 doesn't like
+		 * when the full (MBOX4/MBOX5 as well) OpRegion is covered.
+		 */
+		OperationRegion (OPRG, SystemMemory, ASLS, 0x400)
 		Field (OPRG, DWordAcc, NoLock, Preserve)
 		{
 			// OpRegion Header
-- 
cgit v1.2.3