On Mon, 2007-07-23 at 15:50 -0500, Kumar Gala wrote: > We need the ability to set P2P bridge registers to properly setup the virtual > P2P bridges that exist in PCIe controllers for some of the embedded setups. > > Signed-off-by: Kumar Gala <[EMAIL PROTECTED]>
Acked-by: Benjamin Herrenschmidt <[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 > *pr, > 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 435bfe8..b7d2ea4 100644 > --- a/include/asm-powerpc/pci-bridge.h > +++ b/include/asm-powerpc/pci-bridge.h > @@ -93,6 +93,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); > > #else > _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev