aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/pci-common.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2008-01-14 09:41:36 -0600
committerKumar Gala <galak@kernel.crashing.org>2008-01-23 19:30:33 -0600
commitb188b2aefe2b0e7d34c98106e20214f806f812a3 (patch)
treeed79235ca2e2754b1dc78c8479b000be6ce6c426 /arch/powerpc/kernel/pci-common.c
parent[POWERPC] Ensure we only handle PowerMac PCI bus fixup for memory resources (diff)
downloadlinux-dev-b188b2aefe2b0e7d34c98106e20214f806f812a3.tar.xz
linux-dev-b188b2aefe2b0e7d34c98106e20214f806f812a3.zip
[POWERPC] Fixup transparent P2P resources
For transparent P2P bridges the first 3 resources may get set from based on BAR registers and need to get fixed up. Where as the remainder come from the parent bus and have already been fixed up. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/pci-common.c')
-rw-r--r--arch/powerpc/kernel/pci-common.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 7d0afd47b3e0..980fe32895c0 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -792,9 +792,10 @@ static void __devinit __pcibios_fixup_bus(struct pci_bus *bus)
for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) {
if ((res = bus->resource[i]) == NULL)
continue;
- if (!res->flags || bus->self->transparent)
+ if (!res->flags)
+ continue;
+ if (i >= 3 && bus->self->transparent)
continue;
-
/* On PowerMac, Apple leaves bridge windows open over
* an inaccessible region of memory space (0...fffff)
* which is somewhat bogus, but that's what they think