[OpenBIOS] [commit] r1109 - trunk/openbios-devel/drivers

repository service svn at openbios.org
Fri Apr 5 12:34:06 CEST 2013


Author: mcayland
Date: Fri Apr  5 12:33:57 2013
New Revision: 1109
URL: http://tracker.coreboot.org/trac/openbios/changeset/1109

Log:
pci/macio: Add missing interrupt-parent properties

Based on patch from Andreas Tobler.

Signed-off-by: Amadeusz Sławiński <amade at asmblr.net>
CC: Andreas Tobler <andreast at fgznet.ch>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>

Modified:
   trunk/openbios-devel/drivers/macio.c
   trunk/openbios-devel/drivers/pci.c

Modified: trunk/openbios-devel/drivers/macio.c
==============================================================================
--- trunk/openbios-devel/drivers/macio.c	Fri Apr  5 12:33:22 2013	(r1108)
+++ trunk/openbios-devel/drivers/macio.c	Fri Apr  5 12:33:57 2013	(r1109)
@@ -183,11 +183,23 @@
             target_node = find_dev("/pci/mac-io/escc/ch-b");
             set_int_property(target_node, "interrupt-parent", dnode);
 
+            target_node = find_dev("/pci/mac-io/ata-1");
+            set_int_property(target_node, "interrupt-parent", dnode);
+
+            target_node = find_dev("/pci/mac-io/ata-2");
+            set_int_property(target_node, "interrupt-parent", dnode);
+
+            target_node = find_dev("/pci/mac-io/ata-3");
+            set_int_property(target_node, "interrupt-parent", dnode);
+
+            target_node = find_dev("/pci/mac-io/via-cuda");
+            set_int_property(target_node, "interrupt-parent", dnode);
+
             target_node = find_dev("/pci");
             set_int_property(target_node, "interrupt-parent", dnode);
 
             interrupt_map = (u32 *)get_property(target_node, "interrupt-map", &len);
-            for (i = 0; i < 4; i++) {
+            for (i = 0; i < 8; i++) {
                 interrupt_map[(i * 7) + PCI_INT_MAP_PIC_HANDLE] = (u32)dnode;
             }
             set_property(target_node, "interrupt-map", (char *)interrupt_map, len);

Modified: trunk/openbios-devel/drivers/pci.c
==============================================================================
--- trunk/openbios-devel/drivers/pci.c	Fri Apr  5 12:33:22 2013	(r1108)
+++ trunk/openbios-devel/drivers/pci.c	Fri Apr  5 12:33:57 2013	(r1109)
@@ -375,7 +375,7 @@
  */
 #if defined(CONFIG_PPC)
 	phandle_t dev = get_cur_dev();
-	u32 props[7 * 4];
+	u32 props[7 * 8];
 	int i;
 
 #if defined(CONFIG_PPC)
@@ -384,7 +384,7 @@
 		return;
 #endif
 
-	for (i = 0; i < (7*4); i+=7) {
+	for (i = 0; i < (7*8); i+=7) {
 		props[i+PCI_INT_MAP_PCI0] = 0;
 		props[i+PCI_INT_MAP_PCI1] = 0;
 		props[i+PCI_INT_MAP_PCI2] = 0;
@@ -393,7 +393,7 @@
 		props[i+PCI_INT_MAP_PIC_INT] = arch->irqs[i / 7];
 		props[i+PCI_INT_MAP_PIC_POL] = 3;
 	}
-	set_property(dev, "interrupt-map", (char *)props, 7 * 4 * sizeof(props[0]));
+	set_property(dev, "interrupt-map", (char *)props, 7 * 8 * sizeof(props[0]));
 
 	props[PCI_INT_MAP_PCI0] = 0;
 	props[PCI_INT_MAP_PCI1] = 0;



More information about the OpenBIOS mailing list