[U-Boot-Users] [PATCH] fsl_pci_init - Remove self PCSRBAR allocation

Ed Swarthout ed.swarthout at hwdebug.com
Tue Aug 21 06:55:33 CEST 2007


From: Ed Swarthout <Ed.Swarthout at freescale.com>

CPU physical address space was being wasted by allocating a
PCSRBAR PCI inbound region to it's memory space.

As a rule, PCSRBAR should be left alone since it does not affect
transactions from self and other masters may have changed it.

Signed-off-by: Ed Swarthout <ed.swarthout at freescale.com>
---

Was: {PATCH] Fix MPC8544DS PCIe3 scsi.

This fixes the MPC8544DS scsi error: 

SCSI:  scanning bus for devices...
Invaild port number 1
Invaild port number 2
Invaild port number 3

when not enough PCIe3 memory space is available for allocation.

This replaces k's temp hack.

 drivers/fsl_pci_init.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/fsl_pci_init.c b/drivers/fsl_pci_init.c
index 1084dc6..3a13eea 100644
--- a/drivers/fsl_pci_init.c
+++ b/drivers/fsl_pci_init.c
@@ -130,9 +130,14 @@ fsl_pci_init(struct pci_controller *hose)
 
 	}
 
-	/* Call setup to allocate PCSRBAR window */
-	pciauto_setup_device(hose, dev, 1, hose->pci_mem,
+	/* Use generic setup_device to initialize standard pci regs,
+	 * but do not allocate any windows since any BAR found (such
+	 * as PCSRBAR) is not in this cpu's memory space.
+	 */
+
+	pciauto_setup_device(hose, dev, 0, hose->pci_mem,
 			     hose->pci_prefetch, hose->pci_io);
+
 #ifndef CONFIG_PCI_NOSCAN
 	printf ("               Scanning PCI bus %02x\n", hose->current_busno);
 	hose->last_busno = pci_hose_scan_bus(hose,hose->current_busno);
-- 
1.5.3.rc5.18.ga85e4





More information about the U-Boot mailing list