aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorYinghai Lu <Yinghai.Lu@Sun.COM>2008-02-19 06:21:20 -0500
committerIngo Molnar <mingo@elte.hu>2008-04-26 17:41:04 -0400
commit30a18d6c3f1e774de656ebd8ff219d53e2ba4029 (patch)
tree22aad98a32fc182736f78193938a24175a168b81 /drivers/pci
parent35ddd068fb94b187e94a3fc497ccecf27bdda9ae (diff)
x86: multi pci root bus with different io resource range, on 64-bit
scan AMD opteron io/mmio routing to make sure every pci root bus get correct resource range. Thus later pci scan could assign correct resource to device with unassigned resource. this can fix a system without _CRS for multi pci root bus. Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/probe.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index a40043bd3257..4a55bf380957 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1088,6 +1088,10 @@ unsigned int __devinit pci_scan_child_bus(struct pci_bus *bus)
1088 return max; 1088 return max;
1089} 1089}
1090 1090
1091void __attribute__((weak)) set_pci_bus_resources_arch_default(struct pci_bus *b)
1092{
1093}
1094
1091struct pci_bus * pci_create_bus(struct device *parent, 1095struct pci_bus * pci_create_bus(struct device *parent,
1092 int bus, struct pci_ops *ops, void *sysdata) 1096 int bus, struct pci_ops *ops, void *sysdata)
1093{ 1097{
@@ -1147,6 +1151,8 @@ struct pci_bus * pci_create_bus(struct device *parent,
1147 b->resource[0] = &ioport_resource; 1151 b->resource[0] = &ioport_resource;
1148 b->resource[1] = &iomem_resource; 1152 b->resource[1] = &iomem_resource;
1149 1153
1154 set_pci_bus_resources_arch_default(b);
1155
1150 return b; 1156 return b;
1151 1157
1152dev_create_file_err: 1158dev_create_file_err: