fsl_pci_init - Remove self PCSRBAR allocation
authorEd Swarthout <Ed.Swarthout@freescale.com>
Tue, 21 Aug 2007 04:55:33 +0000 (23:55 -0500)
committerWolfgang Denk <wd@denx.de>
Wed, 29 Aug 2007 00:08:50 +0000 (02:08 +0200)
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@freescale.com>
drivers/fsl_pci_init.c

index 1084dc6b7872b7246f6a6169a136624817de7c43..3a13eea1f2b56da225f229b9816498164cc0738c 100644 (file)
@@ -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);