diff options
author | Gary Hade <garyhade@us.ibm.com> | 2007-10-03 18:56:14 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-12 18:03:18 -0400 |
commit | 036fff4cf732c4d69f99a2915924935705744b00 (patch) | |
tree | 87f6f02e40e8f5c28e6d629e009e6e64a45eec58 /drivers/pci/probe.c | |
parent | 8fa5913d54f3b1e09948e6a0db34da887e05ff1f (diff) |
PCI: skip ISA ioresource alignment on some systems
Skip ISA ioresource alignment on some systems
To conserve limited PCI i/o resource on some IBM multi-node systems, the
BIOS allocates (via _CRS) and expects the kernel to use addresses in
ranges currently excluded by pcibios_align_resource() [i386/pci/i386.c].
This change allows the kernel to use the currently excluded address
ranges on the IBM x3800, x3850, and x3950.
Signed-off-by: Gary Hade <gary.hade@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r-- | drivers/pci/probe.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 40e571d3c392..59d6c3092812 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
@@ -544,7 +544,7 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass | |||
544 | goto out; | 544 | goto out; |
545 | child->primary = buses & 0xFF; | 545 | child->primary = buses & 0xFF; |
546 | child->subordinate = (buses >> 16) & 0xFF; | 546 | child->subordinate = (buses >> 16) & 0xFF; |
547 | child->bridge_ctl = bctl; | 547 | child->bridge_ctl = bctl ^ PCI_BRIDGE_CTL_NO_ISA; |
548 | 548 | ||
549 | cmax = pci_scan_child_bus(child); | 549 | cmax = pci_scan_child_bus(child); |
550 | if (cmax > max) | 550 | if (cmax > max) |
@@ -597,7 +597,7 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass | |||
597 | pci_write_config_dword(dev, PCI_PRIMARY_BUS, buses); | 597 | pci_write_config_dword(dev, PCI_PRIMARY_BUS, buses); |
598 | 598 | ||
599 | if (!is_cardbus) { | 599 | if (!is_cardbus) { |
600 | child->bridge_ctl = bctl | PCI_BRIDGE_CTL_NO_ISA; | 600 | child->bridge_ctl = bctl ^ PCI_BRIDGE_CTL_NO_ISA; |
601 | /* | 601 | /* |
602 | * Adjust subordinate busnr in parent buses. | 602 | * Adjust subordinate busnr in parent buses. |
603 | * We do this before scanning for children because | 603 | * We do this before scanning for children because |