[coreboot-gerrit] New patch to review for coreboot: e643547 Merge LCD on sandy/ivy

Vladimir Serbinenko (phcoder@gmail.com) gerrit at coreboot.org
Thu Aug 21 01:29:05 CEST 2014


Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6722

-gerrit

commit e64354750cd54a78b3dcb0bbd25728963973fb13
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date:   Wed Aug 20 22:46:14 2014 +0200

    Merge LCD on sandy/ivy
    
    Change-Id: Ibf66d46f47fe465cc805f85de818a77327cd7258
    Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
 src/mainboard/lenovo/t520/acpi/video.asl       | 115 -------------------------
 src/mainboard/lenovo/t520/dsdt.asl             |   3 +-
 src/mainboard/lenovo/t530/acpi/video.asl       | 115 -------------------------
 src/mainboard/lenovo/t530/dsdt.asl             |   3 +-
 src/mainboard/lenovo/x230/acpi/video.asl       | 115 -------------------------
 src/mainboard/lenovo/x230/dsdt.asl             |   3 +-
 src/northbridge/intel/sandybridge/acpi/igd.asl |  90 +++++++++++++++++++
 7 files changed, 93 insertions(+), 351 deletions(-)

diff --git a/src/mainboard/lenovo/t520/acpi/video.asl b/src/mainboard/lenovo/t520/acpi/video.asl
deleted file mode 100644
index 12a268b..0000000
--- a/src/mainboard/lenovo/t520/acpi/video.asl
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (c) 2011 Sven Schnelle <svens at stackframe.org>
- * Copyright (c) 2013 Vladimir Serbinenko
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-
-#include "smi.h"
-
-Scope (\_SB.PCI0.GFX0)
-{
-	Device (LCD0)
-	{
-		Name (_ADR, 0x0400)
-		Name (BRCT, 0)
-
-		Name (BRIG, Package (0x12)
-		{
-			0x61,
-			0x61,
-			0x2,
-			0x4,
-			0x5,
-			0x7,
-			0x9,
-			0xb,
-			0xd,
-			0x11,
-			0x14,
-			0x17,
-			0x1c,
-			0x20,
-			0x27,
-			0x31,
-			0x41,
-			0x61,
-		})
-
-		Method (_BCL, 0, NotSerialized)
-		{
-			Store (1, BRCT)
-			Return (BRIG)
-		}
-
-		Method (_BCM, 1, NotSerialized)
-		{
-			Store (ShiftLeft (Arg0, 4), ^^BCLV)
-			Store (0x80000000, ^^CR1)
-			Store (0x061a061a, ^^CR2)
-		}
-		Method (_BQC, 0, NotSerialized)
-		{
-			Store (^^BCLV, Local0)
-			ShiftRight (Local0, 4, Local0)
-			Return (Local0)
-		}
-
-		Method(BRID, 1, NotSerialized)
-		{
-			Store (Match (BRIG, MEQ, Arg0, MTR, Zero, 2), Local0)
-			If (LEqual (Local0, Ones))
-			{
-				Return (0x11)
-			}
-			Return (Local0)
-		}
-
-		/* Using Notify is the right way. But Windows doesn't handle
-		   it well. So use both method in a way to avoid double action.
-		 */
-		Method (DECB, 0, NotSerialized)
-		{
-			If (BRCT)
-			{
-				Notify (LCD0, 0x87)
-			} Else {
-				Store (BRID (_BQC ()), Local0)
-				If (LNotEqual (Local0, 2))
-				{
-					Decrement (Local0)
-				}
-				_BCM (DerefOf (Index (BRIG, Local0)))
-			}
-		}
-		Method (INCB, 0, NotSerialized)
-		{
-			If (BRCT)
-			{
-				Notify (LCD0, 0x86)
-			} Else {
-				Store (BRID (_BQC ()), Local0)
-				If (LNotEqual (Local0, 0x11))
-				{
-					Increment (Local0)
-				}
-				_BCM (DerefOf (Index (BRIG, Local0)))
-			}
-		}
-	}
-}
diff --git a/src/mainboard/lenovo/t520/dsdt.asl b/src/mainboard/lenovo/t520/dsdt.asl
index 1dc3a66..0e7a965 100644
--- a/src/mainboard/lenovo/t520/dsdt.asl
+++ b/src/mainboard/lenovo/t520/dsdt.asl
@@ -24,6 +24,7 @@
 #define BRIGHTNESS_DOWN \_SB.PCI0.GFX0.LCD0.DECB
 #define ACPI_VIDEO_DEVICE \_SB.PCI0.GFX0
 #define RP03_IS_EXPRESSCARD 1
+#define HAVE_LCD_SCREEN 1
 
 DefinitionBlock(
 	"dsdt.aml",
@@ -53,8 +54,6 @@ DefinitionBlock(
 		}
 	}
 
-	#include "acpi/video.asl"
-
 	/* Chipset specific sleep states */
 	#include <southbridge/intel/bd82x6x/acpi/sleepstates.asl>
 }
diff --git a/src/mainboard/lenovo/t530/acpi/video.asl b/src/mainboard/lenovo/t530/acpi/video.asl
deleted file mode 100644
index 12a268b..0000000
--- a/src/mainboard/lenovo/t530/acpi/video.asl
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (c) 2011 Sven Schnelle <svens at stackframe.org>
- * Copyright (c) 2013 Vladimir Serbinenko
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-
-#include "smi.h"
-
-Scope (\_SB.PCI0.GFX0)
-{
-	Device (LCD0)
-	{
-		Name (_ADR, 0x0400)
-		Name (BRCT, 0)
-
-		Name (BRIG, Package (0x12)
-		{
-			0x61,
-			0x61,
-			0x2,
-			0x4,
-			0x5,
-			0x7,
-			0x9,
-			0xb,
-			0xd,
-			0x11,
-			0x14,
-			0x17,
-			0x1c,
-			0x20,
-			0x27,
-			0x31,
-			0x41,
-			0x61,
-		})
-
-		Method (_BCL, 0, NotSerialized)
-		{
-			Store (1, BRCT)
-			Return (BRIG)
-		}
-
-		Method (_BCM, 1, NotSerialized)
-		{
-			Store (ShiftLeft (Arg0, 4), ^^BCLV)
-			Store (0x80000000, ^^CR1)
-			Store (0x061a061a, ^^CR2)
-		}
-		Method (_BQC, 0, NotSerialized)
-		{
-			Store (^^BCLV, Local0)
-			ShiftRight (Local0, 4, Local0)
-			Return (Local0)
-		}
-
-		Method(BRID, 1, NotSerialized)
-		{
-			Store (Match (BRIG, MEQ, Arg0, MTR, Zero, 2), Local0)
-			If (LEqual (Local0, Ones))
-			{
-				Return (0x11)
-			}
-			Return (Local0)
-		}
-
-		/* Using Notify is the right way. But Windows doesn't handle
-		   it well. So use both method in a way to avoid double action.
-		 */
-		Method (DECB, 0, NotSerialized)
-		{
-			If (BRCT)
-			{
-				Notify (LCD0, 0x87)
-			} Else {
-				Store (BRID (_BQC ()), Local0)
-				If (LNotEqual (Local0, 2))
-				{
-					Decrement (Local0)
-				}
-				_BCM (DerefOf (Index (BRIG, Local0)))
-			}
-		}
-		Method (INCB, 0, NotSerialized)
-		{
-			If (BRCT)
-			{
-				Notify (LCD0, 0x86)
-			} Else {
-				Store (BRID (_BQC ()), Local0)
-				If (LNotEqual (Local0, 0x11))
-				{
-					Increment (Local0)
-				}
-				_BCM (DerefOf (Index (BRIG, Local0)))
-			}
-		}
-	}
-}
diff --git a/src/mainboard/lenovo/t530/dsdt.asl b/src/mainboard/lenovo/t530/dsdt.asl
index 12f40f8..d09a451 100644
--- a/src/mainboard/lenovo/t530/dsdt.asl
+++ b/src/mainboard/lenovo/t530/dsdt.asl
@@ -24,6 +24,7 @@
 #define BRIGHTNESS_DOWN \_SB.PCI0.GFX0.LCD0.DECB
 #define ACPI_VIDEO_DEVICE \_SB.PCI0.GFX0
 #define RP03_IS_EXPRESSCARD 1
+#define HAVE_LCD_SCREEN 1
 
 DefinitionBlock(
 	"dsdt.aml",
@@ -54,8 +55,6 @@ DefinitionBlock(
 		}
 	}
 
-	#include "acpi/video.asl"
-
 	/* Chipset specific sleep states */
 	#include <southbridge/intel/bd82x6x/acpi/sleepstates.asl>
 }
diff --git a/src/mainboard/lenovo/x230/acpi/video.asl b/src/mainboard/lenovo/x230/acpi/video.asl
deleted file mode 100644
index 12a268b..0000000
--- a/src/mainboard/lenovo/x230/acpi/video.asl
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (c) 2011 Sven Schnelle <svens at stackframe.org>
- * Copyright (c) 2013 Vladimir Serbinenko
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; version 2 of
- * the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-
-#include "smi.h"
-
-Scope (\_SB.PCI0.GFX0)
-{
-	Device (LCD0)
-	{
-		Name (_ADR, 0x0400)
-		Name (BRCT, 0)
-
-		Name (BRIG, Package (0x12)
-		{
-			0x61,
-			0x61,
-			0x2,
-			0x4,
-			0x5,
-			0x7,
-			0x9,
-			0xb,
-			0xd,
-			0x11,
-			0x14,
-			0x17,
-			0x1c,
-			0x20,
-			0x27,
-			0x31,
-			0x41,
-			0x61,
-		})
-
-		Method (_BCL, 0, NotSerialized)
-		{
-			Store (1, BRCT)
-			Return (BRIG)
-		}
-
-		Method (_BCM, 1, NotSerialized)
-		{
-			Store (ShiftLeft (Arg0, 4), ^^BCLV)
-			Store (0x80000000, ^^CR1)
-			Store (0x061a061a, ^^CR2)
-		}
-		Method (_BQC, 0, NotSerialized)
-		{
-			Store (^^BCLV, Local0)
-			ShiftRight (Local0, 4, Local0)
-			Return (Local0)
-		}
-
-		Method(BRID, 1, NotSerialized)
-		{
-			Store (Match (BRIG, MEQ, Arg0, MTR, Zero, 2), Local0)
-			If (LEqual (Local0, Ones))
-			{
-				Return (0x11)
-			}
-			Return (Local0)
-		}
-
-		/* Using Notify is the right way. But Windows doesn't handle
-		   it well. So use both method in a way to avoid double action.
-		 */
-		Method (DECB, 0, NotSerialized)
-		{
-			If (BRCT)
-			{
-				Notify (LCD0, 0x87)
-			} Else {
-				Store (BRID (_BQC ()), Local0)
-				If (LNotEqual (Local0, 2))
-				{
-					Decrement (Local0)
-				}
-				_BCM (DerefOf (Index (BRIG, Local0)))
-			}
-		}
-		Method (INCB, 0, NotSerialized)
-		{
-			If (BRCT)
-			{
-				Notify (LCD0, 0x86)
-			} Else {
-				Store (BRID (_BQC ()), Local0)
-				If (LNotEqual (Local0, 0x11))
-				{
-					Increment (Local0)
-				}
-				_BCM (DerefOf (Index (BRIG, Local0)))
-			}
-		}
-	}
-}
diff --git a/src/mainboard/lenovo/x230/dsdt.asl b/src/mainboard/lenovo/x230/dsdt.asl
index b9660ea..ed1befd 100644
--- a/src/mainboard/lenovo/x230/dsdt.asl
+++ b/src/mainboard/lenovo/x230/dsdt.asl
@@ -25,6 +25,7 @@
 #define ACPI_VIDEO_DEVICE \_SB.PCI0.GFX0
 #define RP03_IS_EXPRESSCARD 1
 #define EC_LENOVO_H8_ME_WORKAROUND 1
+#define HAVE_LCD_SCREEN 1
 
 DefinitionBlock(
 	"dsdt.aml",
@@ -55,8 +56,6 @@ DefinitionBlock(
 		}
 	}
 
-	#include "acpi/video.asl"
-
 	/* Chipset specific sleep states */
 	#include <southbridge/intel/bd82x6x/acpi/sleepstates.asl>
 }
diff --git a/src/northbridge/intel/sandybridge/acpi/igd.asl b/src/northbridge/intel/sandybridge/acpi/igd.asl
index 69ff37a..d40fad5 100644
--- a/src/northbridge/intel/sandybridge/acpi/igd.asl
+++ b/src/northbridge/intel/sandybridge/acpi/igd.asl
@@ -337,4 +337,94 @@ Device (GFX0)
 		}
 	}
 
+#ifdef HAVE_LCD_SCREEN
+	Device (LCD0)
+	{
+		Name (_ADR, 0x0400)
+		Name (BRCT, 0)
+
+		Name (BRIG, Package (0x12)
+		{
+			0x61,
+			0x61,
+			0x2,
+			0x4,
+			0x5,
+			0x7,
+			0x9,
+			0xb,
+			0xd,
+			0x11,
+			0x14,
+			0x17,
+			0x1c,
+			0x20,
+			0x27,
+			0x31,
+			0x41,
+			0x61,
+		})
+
+		Method (_BCL, 0, NotSerialized)
+		{
+			Store (1, BRCT)
+			Return (BRIG)
+		}
+
+		Method (_BCM, 1, NotSerialized)
+		{
+			Store (ShiftLeft (Arg0, 4), ^^BCLV)
+			Store (0x80000000, ^^CR1)
+			Store (0x061a061a, ^^CR2)
+		}
+		Method (_BQC, 0, NotSerialized)
+		{
+			Store (^^BCLV, Local0)
+			ShiftRight (Local0, 4, Local0)
+			Return (Local0)
+		}
+
+		Method(BRID, 1, NotSerialized)
+		{
+			Store (Match (BRIG, MEQ, Arg0, MTR, Zero, 2), Local0)
+			If (LEqual (Local0, Ones))
+			{
+				Return (0x11)
+			}
+			Return (Local0)
+		}
+
+		/* Using Notify is the right way. But Windows doesn't handle
+		   it well. So use both method in a way to avoid double action.
+		 */
+		Method (DECB, 0, NotSerialized)
+		{
+			If (BRCT)
+			{
+				Notify (LCD0, 0x87)
+			} Else {
+				Store (BRID (_BQC ()), Local0)
+				If (LNotEqual (Local0, 2))
+				{
+					Decrement (Local0)
+				}
+				_BCM (DerefOf (Index (BRIG, Local0)))
+			}
+		}
+		Method (INCB, 0, NotSerialized)
+		{
+			If (BRCT)
+			{
+				Notify (LCD0, 0x86)
+			} Else {
+				Store (BRID (_BQC ()), Local0)
+				If (LNotEqual (Local0, 0x11))
+				{
+					Increment (Local0)
+				}
+				_BCM (DerefOf (Index (BRIG, Local0)))
+			}
+		}
+	}
+#endif
 }



More information about the coreboot-gerrit mailing list