aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGary Hade <garyhade@us.ibm.com>2007-10-03 18:56:14 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-10-12 18:03:18 -0400
commit036fff4cf732c4d69f99a2915924935705744b00 (patch)
tree87f6f02e40e8f5c28e6d629e009e6e64a45eec58 /drivers
parent8fa5913d54f3b1e09948e6a0db34da887e05ff1f (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')
-rw-r--r--drivers/pci/probe.c4
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