[coreboot-gerrit] Patch set updated for coreboot: 483cddf Intel i945: ACPI: Add _OSC method

Paul Menzel (paulepanter@users.sourceforge.net) gerrit at coreboot.org
Wed Apr 10 13:00:59 CEST 2013


Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2938

-gerrit

commit 483cddfa6cf4a8c50482dc571ae518074d87b1ee
Author: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
Date:   Thu Mar 28 14:24:39 2013 +0100

    Intel i945: ACPI: Add _OSC method
    
    Add the ACPI Operating System Capabilities Method and let the
    operation system control everything.
    
    Commit »AMD Fam14 DSDT: Add OSC method« (00a0e76b) [1] is used as
    a template.
    
    The Lenovo X60 [2] running the Parabola GNU/Linux distribution [3] is
    used for testing.
    
    Before that change:
    
        $ dmesg | egrep -e OSC -e ASPM
        [    0.108036] pci_root PNP0A08:00: ACPI _OSC support notification failed, disabling PCIe ASPM
        [    0.108040] pci_root PNP0A08:00: Unable to request _OSC control (_OSC support mask: 0x08)
        [    0.118089] ACPI _OSC control for PCIe not granted, disabling ASPM
        [   16.874569] e1000e 0000:01:00.0: Disabling ASPM L0s L1
    
    With that change:
    
        $ dmesg | egrep -e OSC -e ASPM
        [    0.107962] pci_root PNP0A08:00: Requesting ACPI _OSC control (0x1d)
        [    0.108003] pci_root PNP0A08:00: ACPI _OSC control (0x1d) granted
        [    0.111052] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
        [   17.537970] e1000e 0000:01:00.0: Disabling ASPM L0s L1
    
    [1] http://review.coreboot.org/2738
    [2] http://www.coreboot.org/Lenovo_x60x
    [3] https://parabolagnulinux.org/
    
    Change-Id: I1caffa44eea447d553c01caaf431f2db241ea5ea
    Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
    Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
 src/northbridge/intel/i945/acpi/i945.asl | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/northbridge/intel/i945/acpi/i945.asl b/src/northbridge/intel/i945/acpi/i945.asl
index 47a6931..6a34b94 100644
--- a/src/northbridge/intel/i945/acpi/i945.asl
+++ b/src/northbridge/intel/i945/acpi/i945.asl
@@ -22,6 +22,25 @@
 #include "hostbridge.asl"
 #include "../i945.h"
 
+/* Operating System Capabilities Method */
+Method (_OSC, 4)
+{
+	// Create DWord-addressable fields from the Capabilities Buffer
+	CreateDWordField(Arg3, 0, CDW1)
+	CreateDWordField(Arg3, 4, CDW2)
+	CreateDWordField(Arg3, 8, CDW3)
+
+	/* Check for proper PCI/PCIe UUID */
+	If (LEqual(Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766")))
+	{
+		/* Let OS control everything */
+		Return(Arg3)
+	} Else {
+		Or(CDW1, 4, CDW1)	// Unrecognized UUID, so set bit 2 to 1
+		Return(Arg3)
+	}
+}
+
 /* PCI Device Resource Consumption */
 Device (PDRC)
 {



More information about the coreboot-gerrit mailing list