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
1 tập tin đã thay đổi với 6 bổ sung6 xóa
  1. 6 6
      board/freescale/mpc8641hpcn/mpc8641hpcn.c

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

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