summaryrefslogtreecommitdiff
path: root/src/atiprobe.c
diff options
context:
space:
mode:
authorEgbert Eich <eich@suse.de>2004-11-30 08:38:44 +0000
committerEgbert Eich <eich@suse.de>2004-11-30 08:38:44 +0000
commite9c9fd279ed43cc0d779266efcea69a67541c794 (patch)
treeafa70f7abd837e0d3d912a6df4a1a1fc9a56e047 /src/atiprobe.c
parentfffbcb761c178e025e3d55d428a803b1284481e0 (diff)
Make Xorg the default server to install.
Avoid PIO access on IA64. Some IA64 machine check if legacy ports outside the VGA range are accessed. The ATi driver however does this to probe for ISA Mach8/32/64. Since no IA64 has ISA slots this restriction should not be relevant to the user. Avoid recursive calls of xf86scanpci(). This function normally detects that it has been called before by checking if the PCI structure is filled out. So far if this was not the case (because PCI probing has failed for some reason) the function is traversed again. With the chipset specific PCI bus probing this can lead to an endless recursive loop as the post-probing code calls xf86scanpci() from within this function. The OS specific PCI code for Linux worked only if bus 0 was populated as it checked for the presence of /proc/bus/pci/00. Fixed to check for /proc/bus/pci/<bus_to_look_for> instead.
Diffstat (limited to 'src/atiprobe.c')
-rw-r--r--src/atiprobe.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/atiprobe.c b/src/atiprobe.c
index e262a82..c7dff49 100644
--- a/src/atiprobe.c
+++ b/src/atiprobe.c
@@ -1243,6 +1243,10 @@ ATIProbe
xf86MsgVerb(X_INFO, 2, ATI_NAME ": Unshared VGA not probed.\n");
}
+ /*
+ * Mach8/32 probing doesn't work well on some legacy free ia64
+ * However if we use AVOID_CPIO we don't get here at all.
+ */
if (ATICheckSparseIOBases(NULL, ProbeFlags, 0x02E8U, 8,
fChipsets[ATI_CHIPSET_IBM8514] ||
fChipsets[ATI_CHIPSET_MACH8] ||
@@ -1275,6 +1279,10 @@ ATIProbe
ATI_NAME ": Unshared 8514/A not probed.\n");
}
+ /*
+ * Also NONPCI Mach64 probing is evil on legacy free platforms.
+ * However if we use AVOID_CPIO we don't get here at all.
+ */
for (i = 0; i < NumberOf(Mach64SparseIOBases); i++)
{
if (ATICheckSparseIOBases(NULL, ProbeFlags, Mach64SparseIOBases[i],
@@ -1309,7 +1317,6 @@ ATIProbe
ATIClaimSparseIOBases(ProbeFlags, Mach64SparseIOBases[i], 4,
DetectedMach64);
}
-
#endif /* AVOID_NON_PCI */
}
@@ -1539,7 +1546,6 @@ ATIProbe
ATIFindVGA(pVideo, &pVGA, &pATI, p8514,
ProbeFlags);
}
-
xf86SetPciVideo(NULL, NONE);
break;
}