[coreboot-gerrit] Patch set updated for coreboot: 2f31b65 nvidia/ck804: make Message Signaled Interrupts work

Jonathan A. Kollasch (jakllsch@kollasch.net) gerrit at coreboot.org
Tue Jan 27 02:19:38 CET 2015


Jonathan A. Kollasch (jakllsch at kollasch.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8276

-gerrit

commit 2f31b65efe0c75c334534f084558c49c1a3187bb
Author: Jonathan A. Kollasch <jakllsch at kollasch.net>
Date:   Sun Jan 25 12:57:43 2015 -0600

    nvidia/ck804: make Message Signaled Interrupts work
    
    Use HT MSI Mapping capability register at 0xe0 in CK804 HT device to enable
    HT MSI Mapping so that MSIs work.  Prior to this change PCIe devices
    downstream of the CK804 with MSI enabled would fail to actually assert
    their interrupt.  Tested on msi/ms7135 and winent/mb6047 running Debian
    GNU/Linux 7.0 (wheezy).
    
    Change-Id: I5e0dc8b352f3d04e3b16b899af11d2b908a82850
    Signed-off-by: Jonathan A. Kollasch <jakllsch at kollasch.net>
---
 src/southbridge/nvidia/ck804/ht.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/southbridge/nvidia/ck804/ht.c b/src/southbridge/nvidia/ck804/ht.c
index 41e2998..8eed01f 100644
--- a/src/southbridge/nvidia/ck804/ht.c
+++ b/src/southbridge/nvidia/ck804/ht.c
@@ -52,11 +52,22 @@ unsigned long acpi_fill_mcfg(unsigned long current)
 
 #endif
 
+static void ht_init(struct device *dev)
+{
+	u32 htmsi;
+
+	/* Enable HT MSI Mapping in capability register */
+
+	htmsi = pci_read_config32(dev, 0xe0);
+	htmsi |= (1 << 16);
+	pci_write_config32(dev, 0xe0, htmsi);
+}
+
 static struct device_operations ht_ops = {
 	.read_resources   = pci_dev_read_resources,
 	.set_resources    = pci_dev_set_resources,
 	.enable_resources = pci_dev_enable_resources,
-	.init             = 0,
+	.init             = ht_init,
 	.scan_bus         = 0,
 	.ops_pci          = &ck804_pci_ops,
 };



More information about the coreboot-gerrit mailing list