summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-12 10:38:00 +0300
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 12:12:30 +0300
commit221b2fb818c307e1cb47e036a1671ca554d9cd0a (patch)
tree8272df9706662098fce37984e9ea0e06ee5922ab
parent6241e5cc6afe2c5b75b51e1c890df18f05838cf6 (diff)
downloadlinux-221b2fb818c307e1cb47e036a1671ca554d9cd0a.tar.xz
[SPARC64]: Don't expect cfg space in PCI PBM ranges on SUN4V.
PCI cfg space is accessed transparently through the Hypervisor and not through direct cpu PIO operations. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc64/kernel/pci_sun4v.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c
index 3f0e3c09f4d3..699e91e3e429 100644
--- a/arch/sparc64/kernel/pci_sun4v.c
+++ b/arch/sparc64/kernel/pci_sun4v.c
@@ -639,9 +639,9 @@ static void pci_sun4v_resource_adjust(struct pci_dev *pdev,
*/
static void pci_sun4v_determine_mem_io_space(struct pci_pbm_info *pbm)
{
- int i, saw_cfg, saw_mem, saw_io;
+ int i, saw_mem, saw_io;
- saw_cfg = saw_mem = saw_io = 0;
+ saw_mem = saw_io = 0;
for (i = 0; i < pbm->num_pbm_ranges; i++) {
struct linux_prom_pci_ranges *pr = &pbm->pbm_ranges[i];
unsigned long a;
@@ -652,12 +652,6 @@ static void pci_sun4v_determine_mem_io_space(struct pci_pbm_info *pbm)
((unsigned long)pr->parent_phys_lo << 0UL));
switch (type) {
- case 0:
- /* PCI config space, 16MB */
- pbm->config_space = a;
- saw_cfg = 1;
- break;
-
case 1:
/* 16-bit IO space, 16MB */
pbm->io_space.start = a;
@@ -679,19 +673,15 @@ static void pci_sun4v_determine_mem_io_space(struct pci_pbm_info *pbm)
};
}
- if (!saw_cfg || !saw_io || !saw_mem) {
+ if (!saw_io || !saw_mem) {
prom_printf("%s: Fatal error, missing %s PBM range.\n",
pbm->name,
- ((!saw_cfg ?
- "CFG" :
- (!saw_io ?
- "IO" : "MEM"))));
+ (!saw_io ? "IO" : "MEM"));
prom_halt();
}
- printk("%s: PCI CFG[%lx] IO[%lx] MEM[%lx]\n",
+ printk("%s: PCI IO[%lx] MEM[%lx]\n",
pbm->name,
- pbm->config_space,
pbm->io_space.start,
pbm->mem_space.start);
}