From cb151aa2cf5fbb1e412fc763a3a611758f066238 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Mon, 3 Aug 2009 21:02:02 -0500 Subject: [PATCH] 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 --- 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; rregion_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,