[coreboot-gerrit] Patch set updated for coreboot: fsp_baytrail: Change A, A, A, A IRQ routing to A, A, A, B

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Thu Dec 3 17:46:11 CET 2015


Martin Roth (martinroth at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12629

-gerrit

commit 468d67222d3da2b9949336637194918316a14b0f
Author: Martin Roth <martinroth at google.com>
Date:   Wed Dec 2 16:20:53 2015 -0700

    fsp_baytrail: Change A, A, A, A IRQ routing to A, A, A, B
    
    Devices that have their interrupt routing set to A, A, A, A don't get
    any interrupt values assigned because that series evaluates to 0.  The
    code that sets the interrupt values checks to make sure a value is set
    by verifying that it's not 0.  On Bay Trail, these are all
    single-function graphics devices, so by changing one of the unused
    interrupt lines from A to any other value, it assigns the values
    correctly.
    
    This issue did not affect ACPI interrupt routing.
    
    This is just a workaround, and the root issue still needs to be fixed.
    
    Change-Id: I78866e3e0079435037e457a4fb04979254b56ee2
    Signed-off-by: Martin Roth <martinroth at google.com>
---
 src/mainboard/intel/bayleybay_fsp/irqroute.h | 3 ++-
 src/mainboard/intel/minnowmax/irqroute.h     | 3 ++-
 src/mainboard/siemens/mc_tcu3/irqroute.h     | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/mainboard/intel/bayleybay_fsp/irqroute.h b/src/mainboard/intel/bayleybay_fsp/irqroute.h
index e3523e9..8b6a46e 100644
--- a/src/mainboard/intel/bayleybay_fsp/irqroute.h
+++ b/src/mainboard/intel/bayleybay_fsp/irqroute.h
@@ -44,8 +44,9 @@
 #define PCIE_BRIDGE_IRQ_ROUTES \
 	PCIE_BRIDGE_DEV(RP, BRIDGE1_DEV,    E, F, G, H)
 
+/* Devices set as A, A, A, A evaluate as 0, and don't get set */
 #define PCI_DEV_PIRQ_ROUTES \
-	PCI_DEV_PIRQ_ROUTE(GFX_DEV,     A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(GFX_DEV,     A, A, A, B), \
 	PCI_DEV_PIRQ_ROUTE(EMMC_DEV,    D, E, F, G), \
 	PCI_DEV_PIRQ_ROUTE(SDIO_DEV,    B, A, A, A), \
 	PCI_DEV_PIRQ_ROUTE(SD_DEV,      C, A, A, A), \
diff --git a/src/mainboard/intel/minnowmax/irqroute.h b/src/mainboard/intel/minnowmax/irqroute.h
index bdf3d94..4242acf 100644
--- a/src/mainboard/intel/minnowmax/irqroute.h
+++ b/src/mainboard/intel/minnowmax/irqroute.h
@@ -45,8 +45,9 @@
 #define PCIE_BRIDGE_IRQ_ROUTES \
 	PCIE_BRIDGE_DEV(RP, BRIDGE1_DEV,    E, F, G, H)
 
+/* Devices set as A, A, A, A evaluate as 0, and don't get set */
 #define PCI_DEV_PIRQ_ROUTES \
-	PCI_DEV_PIRQ_ROUTE(GFX_DEV,     A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(GFX_DEV,     A, A, A, B), \
 	PCI_DEV_PIRQ_ROUTE(EMMC_DEV,    D, E, F, G), \
 	PCI_DEV_PIRQ_ROUTE(SDIO_DEV,    B, A, A, A), \
 	PCI_DEV_PIRQ_ROUTE(SD_DEV,      C, A, A, A), \
diff --git a/src/mainboard/siemens/mc_tcu3/irqroute.h b/src/mainboard/siemens/mc_tcu3/irqroute.h
index e3523e9..8b6a46e 100644
--- a/src/mainboard/siemens/mc_tcu3/irqroute.h
+++ b/src/mainboard/siemens/mc_tcu3/irqroute.h
@@ -44,8 +44,9 @@
 #define PCIE_BRIDGE_IRQ_ROUTES \
 	PCIE_BRIDGE_DEV(RP, BRIDGE1_DEV,    E, F, G, H)
 
+/* Devices set as A, A, A, A evaluate as 0, and don't get set */
 #define PCI_DEV_PIRQ_ROUTES \
-	PCI_DEV_PIRQ_ROUTE(GFX_DEV,     A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(GFX_DEV,     A, A, A, B), \
 	PCI_DEV_PIRQ_ROUTE(EMMC_DEV,    D, E, F, G), \
 	PCI_DEV_PIRQ_ROUTE(SDIO_DEV,    B, A, A, A), \
 	PCI_DEV_PIRQ_ROUTE(SD_DEV,      C, A, A, A), \



More information about the coreboot-gerrit mailing list