summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorGary Hade <garyhade@us.ibm.com>2007-10-04 00:56:14 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2007-10-13 00:03:18 +0200
commit036fff4cf732c4d69f99a2915924935705744b00 (patch)
tree87f6f02e40e8f5c28e6d629e009e6e64a45eec58 /drivers/pci
parentPCI: remove transparent bridge sizing (diff)
downloadlinux-036fff4cf732c4d69f99a2915924935705744b00.tar.xz
linux-036fff4cf732c4d69f99a2915924935705744b00.zip
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')
-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
goto out;
child->primary = buses & 0xFF;
child->subordinate = (buses >> 16) & 0xFF;
- child->bridge_ctl = bctl;
+ child->bridge_ctl = bctl ^ PCI_BRIDGE_CTL_NO_ISA;
cmax = pci_scan_child_bus(child);
if (cmax > max)
@@ -597,7 +597,7 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass
pci_write_config_dword(dev, PCI_PRIMARY_BUS, buses);
if (!is_cardbus) {
- child->bridge_ctl = bctl | PCI_BRIDGE_CTL_NO_ISA;
+ child->bridge_ctl = bctl ^ PCI_BRIDGE_CTL_NO_ISA;
/*
* Adjust subordinate busnr in parent buses.
* We do this before scanning for children because