diff options
author | Ulf Carlsson <md1ulfc@mdstud.chalmers.se> | 2000-06-01 03:58:46 +0000 |
---|---|---|
committer | Ulf Carlsson <md1ulfc@mdstud.chalmers.se> | 2000-06-01 03:58:46 +0000 |
commit | 972b8e7479f7c5aa88648ea9d43bf7be7483b6fa (patch) | |
tree | 4ea319d612ab68411327b7080f83815c2d21513f | |
parent | 0c9b84482a485a0233a209182366897df8e59ca0 (diff) |
Add the node offset to the IOC3 to the PCI resource
address for all IOC3 devices. We will now be able to
reach IOC3 cards on other nodes than the first one.
-rw-r--r-- | arch/mips64/sgi-ip27/ip27-pci.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-pci.c b/arch/mips64/sgi-ip27/ip27-pci.c index c0a88050d..5065156ab 100644 --- a/arch/mips64/sgi-ip27/ip27-pci.c +++ b/arch/mips64/sgi-ip27/ip27-pci.c @@ -300,6 +300,7 @@ pci_enable_swapping(struct pci_dev *dev) static void __init pci_fixup_ioc3(struct pci_dev *d) { + unsigned int bus_id = (unsigned) d->bus->number; int i; /* IOC3 only decodes 0x20 bytes of the config space, so we end up @@ -308,6 +309,9 @@ pci_fixup_ioc3(struct pci_dev *d) use INTA. */ printk("PCI: Fixing base addresses for IOC3 device %s\n", d->slot_name); + d->resource[0].start |= NODE_OFFSET(bus_to_nid[bus_id]); + d->resource[0].end |= NODE_OFFSET(bus_to_nid[bus_id]); + for (i = 1; i <= PCI_ROM_RESOURCE; i++) { d->resource[i].start = 0UL; d->resource[i].end = 0UL; |