Browse Source

mpc8641hpcn: Set up outbound pci windows before inbound

Because the inbound pci windows are mapped generously, set up
the more specific outbound windows first.  This way, when we
search the pci regions for something, we will hit on the more
specific region.  This can actually be a problem on systems
with large amounts of RAM.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
Becky Bruce 16 năm trước cách đây
mục cha
commit
2ecca34017

+ 6 - 6
board/freescale/mpc8641hpcn/mpc8641hpcn.c

@@ -163,9 +163,6 @@ void pci_init_board(void)
 		}
 		}
 		debug("\n");
 		debug("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BASE,
 			       CONFIG_SYS_PCI1_MEM_BASE,
@@ -180,6 +177,9 @@ void pci_init_board(void)
 			       CONFIG_SYS_PCI1_IO_SIZE,
 			       CONFIG_SYS_PCI1_IO_SIZE,
 			       PCI_REGION_IO);
 			       PCI_REGION_IO);
 
 
+		/* inbound */
+		r += fsl_pci_setup_inbound_windows(r);
+
 		hose->region_count = r - hose->regions;
 		hose->region_count = r - hose->regions;
 
 
 		hose->first_busno=first_free_busno;
 		hose->first_busno=first_free_busno;
@@ -212,9 +212,6 @@ void pci_init_board(void)
 	struct pci_controller *hose = &pci2_hose;
 	struct pci_controller *hose = &pci2_hose;
 	struct pci_region *r = hose->regions;
 	struct pci_region *r = hose->regions;
 
 
-	/* inbound */
-	r += fsl_pci_setup_inbound_windows(r);
-
 	/* outbound memory */
 	/* outbound memory */
 	pci_set_region(r++,
 	pci_set_region(r++,
 		       CONFIG_SYS_PCI2_MEM_BASE,
 		       CONFIG_SYS_PCI2_MEM_BASE,
@@ -229,6 +226,9 @@ void pci_init_board(void)
 		       CONFIG_SYS_PCI2_IO_SIZE,
 		       CONFIG_SYS_PCI2_IO_SIZE,
 		       PCI_REGION_IO);
 		       PCI_REGION_IO);
 
 
+	/* inbound */
+	r += fsl_pci_setup_inbound_windows(r);
+
 	hose->region_count = r - hose->regions;
 	hose->region_count = r - hose->regions;
 
 
 	hose->first_busno=first_free_busno;
 	hose->first_busno=first_free_busno;