diff options
author | Yinghai Lu <Yinghai.Lu@Sun.COM> | 2008-02-19 06:21:20 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-26 17:41:04 -0400 |
commit | 30a18d6c3f1e774de656ebd8ff219d53e2ba4029 (patch) | |
tree | 22aad98a32fc182736f78193938a24175a168b81 /drivers | |
parent | 35ddd068fb94b187e94a3fc497ccecf27bdda9ae (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')
-rw-r--r-- | drivers/pci/probe.c | 6 |
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 | ||
1091 | void __attribute__((weak)) set_pci_bus_resources_arch_default(struct pci_bus *b) | ||
1092 | { | ||
1093 | } | ||
1094 | |||
1091 | struct pci_bus * pci_create_bus(struct device *parent, | 1095 | struct 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 | ||
1152 | dev_create_file_err: | 1158 | dev_create_file_err: |