aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/probe.c
diff options
context:
space:
mode:
authorDaniel Yeisley <dan.yeisley@unisys.com>2005-12-05 07:06:43 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-09 12:13:18 -0800
commit9d265124d051c2cf6716639239609d83f736dcdb (patch)
tree24f84b02d4a4506606af4f6d17c3a90fd914e825 /drivers/pci/probe.c
parent[PATCH] shpchp: Implement get_address callback (diff)
downloadlinux-dev-9d265124d051c2cf6716639239609d83f736dcdb.tar.xz
linux-dev-9d265124d051c2cf6716639239609d83f736dcdb.zip
[PATCH] PCI Quirk: 1K I/O space granularity on Intel P64H2
I've implemented a quirk to take advantage of the 1KB I/O space granularity option on the Intel P64H2 PCI Bridge. I had to change probe.c because it sets the resource start and end to be aligned on 4k boundaries (after the quirk sets them to 1k boundaries). I've tested this patch on a Unisys ES7000-600 both with and without the 1KB option enabled. I also tested this on a 2 processor Dell box that doesn't have a P64H2 to make sure there were no negative affects there. Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r--drivers/pci/probe.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 79be37a53397..00ba6a03dca5 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -264,8 +264,10 @@ void __devinit pci_read_bridge_bases(struct pci_bus *child)
if (base <= limit) {
res->flags = (io_base_lo & PCI_IO_RANGE_TYPE_MASK) | IORESOURCE_IO;
- res->start = base;
- res->end = limit + 0xfff;
+ if (!res->start)
+ res->start = base;
+ if (!res->end)
+ res->end = limit + 0xfff;
}
res = child->resource[1];