[coreboot-gerrit] New patch to review for coreboot: soc/intel/fsp_baytrail: Adjust root port INT routing

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Tue Dec 8 00:51:03 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/12684

-gerrit

commit 3bfced94ab3621c90a417199fdeb18d3ff00e336
Author: Martin Roth <martinroth at google.com>
Date:   Mon Dec 7 16:50:47 2015 -0700

    soc/intel/fsp_baytrail: Adjust root port INT routing
    
    Adjust the root port INT routing based on Bay Trail spec:
    Document Number: 538136, Rev. 3.9
    
    Table 241. Interrupt Generated for INT[A-D] Interrupts
                 INTA  INTB  INTC  INTD
    Root Port 1 INTA# INTB# INTC# INTD#
    Root Port 2 INTD# INTA# INTB# INTC#
    Root Port 3 INTC# INTD# INTA# INTB#
    Root Port 4 INTB# INTC# INTD# INTA#
    
    Change-Id: I22a8c0bc6ad731dfb79385d6e165f1ec0a07507d
    Signed-off-by: Martin Roth <martinroth at google.com>
---
 src/soc/intel/fsp_baytrail/southcluster.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/soc/intel/fsp_baytrail/southcluster.c b/src/soc/intel/fsp_baytrail/southcluster.c
index 6182948..a49f6d7 100644
--- a/src/soc/intel/fsp_baytrail/southcluster.c
+++ b/src/soc/intel/fsp_baytrail/southcluster.c
@@ -208,6 +208,15 @@ static void write_pci_config_irqs(void)
 		if (targ_dev == NULL || new_int_pin < 1)
 			continue;
 
+		/*
+		 * Adjust the INT routing for the PCIe root ports
+		 * See 'Interrupt Generated for INT[A-D] Interrupts'
+		 * Table 241 in Document Number: 538136, Rev. 3.9
+		 */
+		if (PCI_SLOT(targ_dev->path.pci.devfn) == PCIE_DEV)
+			new_int_pin = (new_int_pin +
+				       PCI_FUNC(targ_dev->path.pci.devfn)) % 4;
+
 		/* Get the original INT_PIN for record keeping */
 		original_int_pin = pci_read_config8(irq_dev, PCI_INTERRUPT_PIN);
 



More information about the coreboot-gerrit mailing list