[coreboot-gerrit] Patch set updated for coreboot: southbridge/intel/i82801gx: Add option to skip MADT irq override

Damien Zammit (damien@zamaudio.com) gerrit at coreboot.org
Sun Dec 27 14:38:39 CET 2015


Damien Zammit (damien at zamaudio.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12795

-gerrit

commit 0e7867505b568a2ed61c4caa5eda56a4a6976b26
Author: Damien Zammit <damien at zamaudio.com>
Date:   Wed Dec 23 16:54:29 2015 +1100

    southbridge/intel/i82801gx: Add option to skip MADT irq override
    
    Provides Kconfig option IRQ9_MADT_OVERRIDE to skip
    overriding IRQ9 in MADT.  Required on GA-G41M-ES2L mainboard.
    
    Without skipping this irq override, the above board reports:
    "irq9: nobody cared" in Linux kernel log and irq 9 gets disabled.
    
    Change-Id: I865ad79c7c89f6eaf91653fbda5762542702274c
    Signed-off-by: Damien Zammit <damien at zamaudio.com>
---
 src/southbridge/intel/i82801gx/Kconfig | 6 ++++++
 src/southbridge/intel/i82801gx/lpc.c   | 8 ++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/southbridge/intel/i82801gx/Kconfig b/src/southbridge/intel/i82801gx/Kconfig
index c435b99..4d747fc 100644
--- a/src/southbridge/intel/i82801gx/Kconfig
+++ b/src/southbridge/intel/i82801gx/Kconfig
@@ -25,6 +25,12 @@ config SOUTHBRIDGE_INTEL_I82801GX
 
 if SOUTHBRIDGE_INTEL_I82801GX
 
+config IRQ9_MADT_OVERRIDE
+	bool
+	default y
+	help
+	  When unset, prevents ACPI from overriding IRQ9 in MADT
+
 config EHCI_BAR
 	hex
 	default 0xfef00000
diff --git a/src/southbridge/intel/i82801gx/lpc.c b/src/southbridge/intel/i82801gx/lpc.c
index 4e9711c..407d336 100644
--- a/src/southbridge/intel/i82801gx/lpc.c
+++ b/src/southbridge/intel/i82801gx/lpc.c
@@ -474,9 +474,13 @@ unsigned long acpi_fill_madt(unsigned long current)
 	/* INT_SRC_OVR */
 	current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
 		 current, 0, 0, 2, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_EDGE);
-	current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
-		 current, 0, 9, 9, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_LEVEL);
 
+	if (IS_ENABLED(CONFIG_IRQ9_MADT_OVERRIDE)) {
+		current += acpi_create_madt_irqoverride(
+			(acpi_madt_irqoverride_t *) current,
+			0, 9, 9, MP_IRQ_POLARITY_HIGH
+				| MP_IRQ_TRIGGER_LEVEL);
+	}
 
 	return current;
 }



More information about the coreboot-gerrit mailing list