Commit:     f64fddbeac737bfc8d966423f067a9af9eeec887
Parent:     f16dab981aa9d423bdfe096e3422acd33d905c1e
Author:     Kumar Gala <[EMAIL PROTECTED]>
AuthorDate: Fri Jul 20 13:35:34 2007 -0500
Committer:  Kumar Gala <[EMAIL PROTECTED]>
CommitDate: Mon Jul 23 22:30:08 2007 -0500

    [POWERPC] Provide ability to setup P2P bridge registers from struct resource
    We need the ability to set P2P bridge registers to properly setup the 
    P2P bridges that exist in PCIe controllers for some of the embedded setups.
    Signed-off-by: Kumar Gala <[EMAIL PROTECTED]>
 arch/powerpc/kernel/pci_32.c     |   18 ++++++++++++------
 include/asm-powerpc/pci-bridge.h |    2 ++
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index bfcfa14..721a694 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -415,15 +415,13 @@ probe_resource(struct pci_bus *parent, struct resource 
        return 0;
-static void __init
-update_bridge_base(struct pci_bus *bus, int i)
+void __init
+update_bridge_resource(struct pci_dev *dev, struct resource *res)
-       struct resource *res = bus->resource[i];
        u8 io_base_lo, io_limit_lo;
        u16 mem_base, mem_limit;
        u16 cmd;
        unsigned long start, end, off;
-       struct pci_dev *dev = bus->self;
        struct pci_controller *hose = dev->sysdata;
        if (!hose) {
@@ -467,12 +465,20 @@ update_bridge_base(struct pci_bus *bus, int i)
                pci_write_config_word(dev, PCI_PREF_MEMORY_LIMIT, mem_limit);
        } else {
-               DBG(KERN_ERR "PCI: ugh, bridge %s res %d has flags=%lx\n",
-                   pci_name(dev), i, res->flags);
+               DBG(KERN_ERR "PCI: ugh, bridge %s res has flags=%lx\n",
+                   pci_name(dev), res->flags);
        pci_write_config_word(dev, PCI_COMMAND, cmd);
+static void __init
+update_bridge_base(struct pci_bus *bus, int i)
+       struct resource *res = bus->resource[i];
+       struct pci_dev *dev = bus->self;
+       update_bridge_resource(dev, res);
 static inline void alloc_resource(struct pci_dev *dev, int idx)
        struct resource *pr, *r = &dev->resource[idx];
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h
index 9ce8f29..d53e0eb 100644
--- a/include/asm-powerpc/pci-bridge.h
+++ b/include/asm-powerpc/pci-bridge.h
@@ -92,6 +92,8 @@ extern int early_find_capability(struct pci_controller *hose, 
int bus,
 extern void setup_indirect_pci(struct pci_controller* hose,
                               u32 cfg_addr, u32 cfg_data, u32 flags);
 extern void setup_grackle(struct pci_controller *hose);
+extern void __init update_bridge_resource(struct pci_dev *dev,
+                                         struct resource *res);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to