Browse Source

[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>
Kumar Gala 17 years ago
parent
commit
b188b2aefe
1 changed files with 3 additions and 2 deletions
  1. 3 2
      arch/powerpc/kernel/pci-common.c

+ 3 - 2
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) {
 		for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) {
 			if ((res = bus->resource[i]) == NULL)
 			if ((res = bus->resource[i]) == NULL)
 				continue;
 				continue;
-			if (!res->flags || bus->self->transparent)
+			if (!res->flags)
+				continue;
+			if (i >= 3 && bus->self->transparent)
 				continue;
 				continue;
-
 			/* On PowerMac, Apple leaves bridge windows open over
 			/* On PowerMac, Apple leaves bridge windows open over
 			 * an inaccessible region of memory space (0...fffff)
 			 * an inaccessible region of memory space (0...fffff)
 			 * which is somewhat bogus, but that's what they think
 			 * which is somewhat bogus, but that's what they think