浏览代码

pci/fsl_pci_init: Fold fsl_pci_setup_inbound_windows into fsl_pci_init

Every platform that calls fsl_pci_init calls fsl_pci_setup_inbound_windows
before it calls fsl_pci_init.  There isn't any reason to just call it
from fsl_pci_init and simplify things a bit.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kumar Gala 15 年之前
父节点
当前提交
cb151aa2cf

+ 0 - 8
board/atum8548/atum8548.c

@@ -216,9 +216,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BASE,
 			       CONFIG_SYS_PCIE1_MEM_BASE,
@@ -282,9 +279,6 @@ pci_init_board(void)
 			(uint)pci
 			(uint)pci
 			);
 			);
 
 
-		/* 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,
@@ -320,8 +314,6 @@ pci_init_board(void)
 	struct pci_region *r = hose->regions;
 	struct pci_region *r = hose->regions;
 
 
 	if (!(devdisr & MPC85xx_DEVDISR_PCI2)) {
 	if (!(devdisr & MPC85xx_DEVDISR_PCI2)) {
-		r += fsl_pci_setup_inbound_windows(r);
-
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI2_MEM_BASE,
 			       CONFIG_SYS_PCI2_MEM_BASE,
 			       CONFIG_SYS_PCI2_MEM_PHYS,
 			       CONFIG_SYS_PCI2_MEM_PHYS,

+ 0 - 12
board/freescale/mpc8536ds/mpc8536ds.c

@@ -230,9 +230,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE3_MEM_BUS,
 			       CONFIG_SYS_PCIE3_MEM_BUS,
@@ -284,9 +281,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
@@ -345,9 +339,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE2_MEM_BUS,
 			       CONFIG_SYS_PCIE2_MEM_BUS,
@@ -412,9 +403,6 @@ pci_init_board(void)
 			(uint)pci
 			(uint)pci
 			);
 			);
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BUS,
 			       CONFIG_SYS_PCI1_MEM_BUS,

+ 0 - 12
board/freescale/mpc8544ds/mpc8544ds.c

@@ -139,9 +139,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE3_MEM_BUS,
 			       CONFIG_SYS_PCIE3_MEM_BUS,
@@ -205,9 +202,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
@@ -266,9 +260,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE2_MEM_BUS,
 			       CONFIG_SYS_PCIE2_MEM_BUS,
@@ -333,9 +324,6 @@ pci_init_board(void)
 			(uint)pci
 			(uint)pci
 			);
 			);
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BUS,
 			       CONFIG_SYS_PCI1_MEM_BUS,

+ 0 - 7
board/freescale/mpc8548cds/mpc8548cds.c

@@ -297,10 +297,6 @@ pci_init_board(void)
 			pci_arb ? "arbiter" : "external-arbiter"
 			pci_arb ? "arbiter" : "external-arbiter"
 			);
 			);
 
 
-
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BUS,
 			       CONFIG_SYS_PCI1_MEM_BUS,
@@ -381,9 +377,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
 			       CONFIG_SYS_PCIE1_MEM_BUS,

+ 0 - 6
board/freescale/mpc8568mds/mpc8568mds.c

@@ -389,9 +389,6 @@ pci_init_board(void)
 			pci_arb ? "arbiter" : "external-arbiter"
 			pci_arb ? "arbiter" : "external-arbiter"
 			);
 			);
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCI1_MEM_BUS,
 				CONFIG_SYS_PCI1_MEM_BUS,
@@ -441,9 +438,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BUS,
 				CONFIG_SYS_PCIE1_MEM_BUS,

+ 0 - 3
board/freescale/mpc8569mds/mpc8569mds.c

@@ -347,9 +347,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BUS,
 				CONFIG_SYS_PCIE1_MEM_BUS,

+ 0 - 9
board/freescale/mpc8572ds/mpc8572ds.c

@@ -201,9 +201,6 @@ void pci_init_board(void)
 			}
 			}
 			printf ("\n");
 			printf ("\n");
 
 
-			/* inbound */
-			r += fsl_pci_setup_inbound_windows(r);
-
 			/* outbound memory */
 			/* outbound memory */
 			pci_set_region(r++,
 			pci_set_region(r++,
 					CONFIG_SYS_PCIE3_MEM_BUS,
 					CONFIG_SYS_PCIE3_MEM_BUS,
@@ -269,9 +266,6 @@ void pci_init_board(void)
 			}
 			}
 			printf ("\n");
 			printf ("\n");
 
 
-			/* inbound */
-			r += fsl_pci_setup_inbound_windows(r);
-
 			/* outbound memory */
 			/* outbound memory */
 			pci_set_region(r++,
 			pci_set_region(r++,
 					CONFIG_SYS_PCIE2_MEM_BUS,
 					CONFIG_SYS_PCIE2_MEM_BUS,
@@ -323,9 +317,6 @@ void pci_init_board(void)
 			}
 			}
 			printf ("\n");
 			printf ("\n");
 
 
-			/* inbound */
-			r += fsl_pci_setup_inbound_windows(r);
-
 			/* outbound memory */
 			/* outbound memory */
 			pci_set_region(r++,
 			pci_set_region(r++,
 					CONFIG_SYS_PCIE1_MEM_BUS,
 					CONFIG_SYS_PCIE1_MEM_BUS,

+ 0 - 9
board/freescale/mpc8610hpcd/mpc8610hpcd.c

@@ -260,9 +260,6 @@ void pci_init_board(void)
 		if (pci->pme_msg_det)
 		if (pci->pme_msg_det)
 			pci->pme_msg_det = 0xffffffff;
 			pci->pme_msg_det = 0xffffffff;
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			 CONFIG_SYS_PCIE1_MEM_BUS,
 			 CONFIG_SYS_PCIE1_MEM_BUS,
@@ -313,9 +310,6 @@ void pci_init_board(void)
 		if (pci->pme_msg_det)
 		if (pci->pme_msg_det)
 			pci->pme_msg_det = 0xffffffff;
 			pci->pme_msg_det = 0xffffffff;
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			 CONFIG_SYS_PCIE2_MEM_BUS,
 			 CONFIG_SYS_PCIE2_MEM_BUS,
@@ -360,9 +354,6 @@ void pci_init_board(void)
 			pci_agent ? "Agent" : "Host",
 			pci_agent ? "Agent" : "Host",
 			(uint)pci);
 			(uint)pci);
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			 CONFIG_SYS_PCI1_MEM_BUS,
 			 CONFIG_SYS_PCI1_MEM_BUS,

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

@@ -187,9 +187,6 @@ 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;
@@ -235,9 +232,6 @@ 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;

+ 0 - 9
board/freescale/p2020ds/p2020ds.c

@@ -235,9 +235,6 @@ void pci_init_board(void)
 		}
 		}
 		printf("\n");
 		printf("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE2_MEM_BUS,
 				CONFIG_SYS_PCIE2_MEM_BUS,
@@ -306,9 +303,6 @@ void pci_init_board(void)
 		}
 		}
 		printf("\n");
 		printf("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE3_MEM_BUS,
 				CONFIG_SYS_PCIE3_MEM_BUS,
@@ -357,9 +351,6 @@ void pci_init_board(void)
 		}
 		}
 		printf("\n");
 		printf("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BUS,
 				CONFIG_SYS_PCIE1_MEM_BUS,

+ 0 - 11
board/sbc8548/sbc8548.c

@@ -377,10 +377,6 @@ pci_init_board(void)
 			pci_arb ? "arbiter" : "external-arbiter"
 			pci_arb ? "arbiter" : "external-arbiter"
 			);
 			);
 
 
-
-		/* 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,
@@ -461,13 +457,6 @@ pci_init_board(void)
 		}
 		}
 		printf ("\n");
 		printf ("\n");
 
 
-		/* inbound */
-		pci_set_region(r++,
-			       CONFIG_SYS_PCI_MEMORY_BUS,
-			       CONFIG_SYS_PCI_MEMORY_PHYS,
-			       CONFIG_SYS_PCI_MEMORY_SIZE,
-			       PCI_REGION_MEM | PCI_REGION_SYS_MEMORY);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BASE,
 			       CONFIG_SYS_PCIE1_MEM_BASE,

+ 0 - 7
board/sbc8641d/sbc8641d.c

@@ -239,9 +239,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_BUS,
 			       CONFIG_SYS_PCI1_MEM_BUS,
@@ -280,10 +277,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_BUS,
 		       CONFIG_SYS_PCI2_MEM_BUS,

+ 0 - 7
board/tqc/tqm85xx/tqm85xx.c

@@ -575,10 +575,6 @@ static inline void init_pci1(void)
 			pci_agent ? "agent" : "host",
 			pci_agent ? "agent" : "host",
 			pci_arb ? "arbiter" : "external-arbiter");
 			pci_arb ? "arbiter" : "external-arbiter");
 
 
-
-		/* 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,
@@ -651,9 +647,6 @@ static inline void init_pcie1(void)
 		}
 		}
 		puts ("\n");
 		puts ("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region (r++,
 		pci_set_region (r++,
 				CONFIG_SYS_PCIE1_MEM_BASE,
 				CONFIG_SYS_PCIE1_MEM_BASE,

+ 0 - 12
board/xes/common/fsl_8xxx_pci.c

@@ -213,9 +213,6 @@ void pci_init_board(void)
 			host ? "host" : "agent",
 			host ? "host" : "agent",
 			pci_arb ? "arbiter" : "external-arbiter");
 			pci_arb ? "arbiter" : "external-arbiter");
 
 
-		/* 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,
@@ -267,9 +264,6 @@ void pci_init_board(void)
 		}
 		}
 		printf("\n");
 		printf("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BASE,
 				CONFIG_SYS_PCIE1_MEM_BASE,
@@ -319,9 +313,6 @@ void pci_init_board(void)
 		}
 		}
 		printf("\n");
 		printf("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE2_MEM_BASE,
 				CONFIG_SYS_PCIE2_MEM_BASE,
@@ -371,9 +362,6 @@ void pci_init_board(void)
 		}
 		}
 		printf("\n");
 		printf("\n");
 
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		/* outbound memory */
 		pci_set_region(r++,
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE3_MEM_BASE,
 				CONFIG_SYS_PCIE3_MEM_BASE,

+ 7 - 1
drivers/pci/fsl_pci_init.c

@@ -60,7 +60,7 @@ void pciauto_config_init(struct pci_controller *hose);
 #define CONFIG_SYS_PCI64_MEMORY_BUS (64ull*1024*1024*1024)
 #define CONFIG_SYS_PCI64_MEMORY_BUS (64ull*1024*1024*1024)
 #endif
 #endif
 
 
-int fsl_pci_setup_inbound_windows(struct pci_region *r)
+static int fsl_pci_setup_inbound_windows(struct pci_region *r)
 {
 {
 	struct pci_region *rgn_base = r;
 	struct pci_region *rgn_base = r;
 	u64 sz = min((u64)gd->ram_size, (1ull << 32) - 1);
 	u64 sz = min((u64)gd->ram_size, (1ull << 32) - 1);
@@ -145,6 +145,7 @@ void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data)
 	int bridge;
 	int bridge;
 	int inbound = 0;
 	int inbound = 0;
 	volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *)cfg_addr;
 	volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *)cfg_addr;
+	struct pci_region *reg = hose->regions + hose->region_count;
 	pci_dev_t dev = PCI_BDF(busno,0,0);
 	pci_dev_t dev = PCI_BDF(busno,0,0);
 
 
 	/* Initialize ATMU registers based on hose regions and flags */
 	/* Initialize ATMU registers based on hose regions and flags */
@@ -157,6 +158,11 @@ void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data)
 
 
 	pci_setup_indirect(hose, cfg_addr, cfg_data);
 	pci_setup_indirect(hose, cfg_addr, cfg_data);
 
 
+	/* inbound */
+	reg += fsl_pci_setup_inbound_windows(reg);
+
+	hose->region_count = reg - hose->regions;
+
 	for (r=0; r<hose->region_count; r++) {
 	for (r=0; r<hose->region_count; r++) {
 		u32 sz = (__ilog2_u64((u64)hose->regions[r].size) - 1);
 		u32 sz = (__ilog2_u64((u64)hose->regions[r].size) - 1);
 		if (hose->regions[r].flags & PCI_REGION_SYS_MEMORY) { /* inbound */
 		if (hose->regions[r].flags & PCI_REGION_SYS_MEMORY) { /* inbound */

+ 0 - 1
include/asm-ppc/fsl_pci.h

@@ -20,7 +20,6 @@
 #ifndef __FSL_PCI_H_
 #ifndef __FSL_PCI_H_
 #define __FSL_PCI_H_
 #define __FSL_PCI_H_
 
 
-int fsl_pci_setup_inbound_windows(struct pci_region *r);
 void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data);
 void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data);
 void fsl_pci_config_unlock(struct pci_controller *hose);
 void fsl_pci_config_unlock(struct pci_controller *hose);
 void ft_fsl_pci_setup(void *blob, const char *pci_alias,
 void ft_fsl_pci_setup(void *blob, const char *pci_alias,