[U-Boot] [PATCH] pci/fsl_pci_init: Fold fsl_pci_setup_inbound_windows into fsl_pci_init

Kumar Gala galak at kernel.crashing.org
Tue Aug 4 04:13:57 CEST 2009


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 at kernel.crashing.org>
---
 board/atum8548/atum8548.c                 |    8 --------
 board/freescale/mpc8536ds/mpc8536ds.c     |   12 ------------
 board/freescale/mpc8544ds/mpc8544ds.c     |   12 ------------
 board/freescale/mpc8548cds/mpc8548cds.c   |    7 -------
 board/freescale/mpc8568mds/mpc8568mds.c   |    6 ------
 board/freescale/mpc8569mds/mpc8569mds.c   |    3 ---
 board/freescale/mpc8572ds/mpc8572ds.c     |    9 ---------
 board/freescale/mpc8610hpcd/mpc8610hpcd.c |    9 ---------
 board/freescale/mpc8641hpcn/mpc8641hpcn.c |    6 ------
 board/freescale/p2020ds/p2020ds.c         |    9 ---------
 board/sbc8548/sbc8548.c                   |   11 -----------
 board/sbc8641d/sbc8641d.c                 |    7 -------
 board/tqc/tqm85xx/tqm85xx.c               |    7 -------
 board/xes/common/fsl_8xxx_pci.c           |   12 ------------
 drivers/pci/fsl_pci_init.c                |    8 +++++++-
 include/asm-ppc/fsl_pci.h                 |    1 -
 16 files changed, 7 insertions(+), 120 deletions(-)

diff --git a/board/atum8548/atum8548.c b/board/atum8548/atum8548.c
index 7a02cdc..85c0adc 100644
--- a/board/atum8548/atum8548.c
+++ b/board/atum8548/atum8548.c
@@ -216,9 +216,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BASE,
@@ -282,9 +279,6 @@ pci_init_board(void)
 			(uint)pci
 			);
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BASE,
@@ -320,8 +314,6 @@ pci_init_board(void)
 	struct pci_region *r = hose->regions;
 
 	if (!(devdisr & MPC85xx_DEVDISR_PCI2)) {
-		r += fsl_pci_setup_inbound_windows(r);
-
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI2_MEM_BASE,
 			       CONFIG_SYS_PCI2_MEM_PHYS,
diff --git a/board/freescale/mpc8536ds/mpc8536ds.c b/board/freescale/mpc8536ds/mpc8536ds.c
index 9d2753e..5bd20ce 100644
--- a/board/freescale/mpc8536ds/mpc8536ds.c
+++ b/board/freescale/mpc8536ds/mpc8536ds.c
@@ -230,9 +230,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE3_MEM_BUS,
@@ -284,9 +281,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
@@ -345,9 +339,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE2_MEM_BUS,
@@ -412,9 +403,6 @@ pci_init_board(void)
 			(uint)pci
 			);
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BUS,
diff --git a/board/freescale/mpc8544ds/mpc8544ds.c b/board/freescale/mpc8544ds/mpc8544ds.c
index 60bde68..5a47d0a 100644
--- a/board/freescale/mpc8544ds/mpc8544ds.c
+++ b/board/freescale/mpc8544ds/mpc8544ds.c
@@ -139,9 +139,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE3_MEM_BUS,
@@ -205,9 +202,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
@@ -266,9 +260,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE2_MEM_BUS,
@@ -333,9 +324,6 @@ pci_init_board(void)
 			(uint)pci
 			);
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BUS,
diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c
index d0856c4..9df5f82 100644
--- a/board/freescale/mpc8548cds/mpc8548cds.c
+++ b/board/freescale/mpc8548cds/mpc8548cds.c
@@ -297,10 +297,6 @@ pci_init_board(void)
 			pci_arb ? "arbiter" : "external-arbiter"
 			);
 
-
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BUS,
@@ -381,9 +377,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BUS,
diff --git a/board/freescale/mpc8568mds/mpc8568mds.c b/board/freescale/mpc8568mds/mpc8568mds.c
index 811bf5e..fe505b0 100644
--- a/board/freescale/mpc8568mds/mpc8568mds.c
+++ b/board/freescale/mpc8568mds/mpc8568mds.c
@@ -389,9 +389,6 @@ pci_init_board(void)
 			pci_arb ? "arbiter" : "external-arbiter"
 			);
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCI1_MEM_BUS,
@@ -441,9 +438,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BUS,
diff --git a/board/freescale/mpc8569mds/mpc8569mds.c b/board/freescale/mpc8569mds/mpc8569mds.c
index 45c518a..63c21dd 100644
--- a/board/freescale/mpc8569mds/mpc8569mds.c
+++ b/board/freescale/mpc8569mds/mpc8569mds.c
@@ -347,9 +347,6 @@ pci_init_board(void)
 		}
 		printf ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BUS,
diff --git a/board/freescale/mpc8572ds/mpc8572ds.c b/board/freescale/mpc8572ds/mpc8572ds.c
index 9d5cfd7..59d7519 100644
--- a/board/freescale/mpc8572ds/mpc8572ds.c
+++ b/board/freescale/mpc8572ds/mpc8572ds.c
@@ -201,9 +201,6 @@ void pci_init_board(void)
 			}
 			printf ("\n");
 
-			/* inbound */
-			r += fsl_pci_setup_inbound_windows(r);
-
 			/* outbound memory */
 			pci_set_region(r++,
 					CONFIG_SYS_PCIE3_MEM_BUS,
@@ -269,9 +266,6 @@ void pci_init_board(void)
 			}
 			printf ("\n");
 
-			/* inbound */
-			r += fsl_pci_setup_inbound_windows(r);
-
 			/* outbound memory */
 			pci_set_region(r++,
 					CONFIG_SYS_PCIE2_MEM_BUS,
@@ -323,9 +317,6 @@ void pci_init_board(void)
 			}
 			printf ("\n");
 
-			/* inbound */
-			r += fsl_pci_setup_inbound_windows(r);
-
 			/* outbound memory */
 			pci_set_region(r++,
 					CONFIG_SYS_PCIE1_MEM_BUS,
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index 98896d1..45000d9 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -260,9 +260,6 @@ void pci_init_board(void)
 		if (pci->pme_msg_det)
 			pci->pme_msg_det = 0xffffffff;
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			 CONFIG_SYS_PCIE1_MEM_BUS,
@@ -313,9 +310,6 @@ void pci_init_board(void)
 		if (pci->pme_msg_det)
 			pci->pme_msg_det = 0xffffffff;
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			 CONFIG_SYS_PCIE2_MEM_BUS,
@@ -360,9 +354,6 @@ void pci_init_board(void)
 			pci_agent ? "Agent" : "Host",
 			(uint)pci);
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			 CONFIG_SYS_PCI1_MEM_BUS,
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index de899e8..fab4fae 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -187,9 +187,6 @@ 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;
@@ -235,9 +232,6 @@ 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;
diff --git a/board/freescale/p2020ds/p2020ds.c b/board/freescale/p2020ds/p2020ds.c
index e2cd39c..3fe72cd 100644
--- a/board/freescale/p2020ds/p2020ds.c
+++ b/board/freescale/p2020ds/p2020ds.c
@@ -235,9 +235,6 @@ void pci_init_board(void)
 		}
 		printf("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE2_MEM_BUS,
@@ -306,9 +303,6 @@ void pci_init_board(void)
 		}
 		printf("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE3_MEM_BUS,
@@ -357,9 +351,6 @@ void pci_init_board(void)
 		}
 		printf("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BUS,
diff --git a/board/sbc8548/sbc8548.c b/board/sbc8548/sbc8548.c
index 978d91b..1ae4cda 100644
--- a/board/sbc8548/sbc8548.c
+++ b/board/sbc8548/sbc8548.c
@@ -377,10 +377,6 @@ pci_init_board(void)
 			pci_arb ? "arbiter" : "external-arbiter"
 			);
 
-
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCI1_MEM_BASE,
@@ -461,13 +457,6 @@ pci_init_board(void)
 		}
 		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 */
 		pci_set_region(r++,
 			       CONFIG_SYS_PCIE1_MEM_BASE,
diff --git a/board/sbc8641d/sbc8641d.c b/board/sbc8641d/sbc8641d.c
index 6d68c8e..aabefa9 100644
--- a/board/sbc8641d/sbc8641d.c
+++ b/board/sbc8641d/sbc8641d.c
@@ -239,9 +239,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_BUS,
@@ -280,10 +277,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_BUS,
diff --git a/board/tqc/tqm85xx/tqm85xx.c b/board/tqc/tqm85xx/tqm85xx.c
index 07a6db3..277edcd 100644
--- a/board/tqc/tqm85xx/tqm85xx.c
+++ b/board/tqc/tqm85xx/tqm85xx.c
@@ -575,10 +575,6 @@ static inline void init_pci1(void)
 			pci_agent ? "agent" : "host",
 			pci_arb ? "arbiter" : "external-arbiter");
 
-
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region (r++,
 				CONFIG_SYS_PCI1_MEM_BASE,
@@ -651,9 +647,6 @@ static inline void init_pcie1(void)
 		}
 		puts ("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region (r++,
 				CONFIG_SYS_PCIE1_MEM_BASE,
diff --git a/board/xes/common/fsl_8xxx_pci.c b/board/xes/common/fsl_8xxx_pci.c
index 3a4e523..463588f 100644
--- a/board/xes/common/fsl_8xxx_pci.c
+++ b/board/xes/common/fsl_8xxx_pci.c
@@ -213,9 +213,6 @@ void pci_init_board(void)
 			host ? "host" : "agent",
 			pci_arb ? "arbiter" : "external-arbiter");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCI1_MEM_BASE,
@@ -267,9 +264,6 @@ void pci_init_board(void)
 		}
 		printf("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE1_MEM_BASE,
@@ -319,9 +313,6 @@ void pci_init_board(void)
 		}
 		printf("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE2_MEM_BASE,
@@ -371,9 +362,6 @@ void pci_init_board(void)
 		}
 		printf("\n");
 
-		/* inbound */
-		r += fsl_pci_setup_inbound_windows(r);
-
 		/* outbound memory */
 		pci_set_region(r++,
 				CONFIG_SYS_PCIE3_MEM_BASE,
diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c
index 8858657..c40ab30 100644
--- a/drivers/pci/fsl_pci_init.c
+++ b/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)
 #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;
 	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 inbound = 0;
 	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);
 
 	/* 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);
 
+	/* inbound */
+	reg += fsl_pci_setup_inbound_windows(reg);
+
+	hose->region_count = reg - hose->regions;
+
 	for (r=0; r<hose->region_count; r++) {
 		u32 sz = (__ilog2_u64((u64)hose->regions[r].size) - 1);
 		if (hose->regions[r].flags & PCI_REGION_SYS_MEMORY) { /* inbound */
diff --git a/include/asm-ppc/fsl_pci.h b/include/asm-ppc/fsl_pci.h
index 0473b72..b2ff0e9 100644
--- a/include/asm-ppc/fsl_pci.h
+++ b/include/asm-ppc/fsl_pci.h
@@ -20,7 +20,6 @@
 #ifndef __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_config_unlock(struct pci_controller *hose);
 void ft_fsl_pci_setup(void *blob, const char *pci_alias,
-- 
1.6.0.6



More information about the U-Boot mailing list