PCI: read bridge windows before filling in subtractive decode resources

No functional change; this fills in the bus subtractive decode resources
after reading the bridge window information rather than before.  Also,
print out the subtractive decode resources as we already do for the
positive decode windows.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
Bjorn Helgaas 2010-02-23 10:24:26 -07:00 committed by Jesse Barnes
parent fa27b2d108
commit 2adf75160b
1 changed files with 10 additions and 5 deletions

View File

@ -403,14 +403,19 @@ void __devinit pci_read_bridge_bases(struct pci_bus *child)
child->secondary, child->subordinate,
dev->transparent ? " (subtractive decode)" : "");
if (dev->transparent) {
for (i = 3; i < PCI_BUS_NUM_RESOURCES; i++)
child->resource[i] = child->parent->resource[i - 3];
}
pci_read_bridge_io(child);
pci_read_bridge_mmio(child);
pci_read_bridge_mmio_pref(child);
if (dev->transparent) {
for (i = 3; i < PCI_BUS_NUM_RESOURCES; i++) {
child->resource[i] = child->parent->resource[i - 3];
if (child->resource[i])
dev_printk(KERN_DEBUG, &dev->dev,
" bridge window %pR (subtractive decode)\n",
child->resource[i]);
}
}
}
static struct pci_bus * pci_alloc_bus(void)