summaryrefslogtreecommitdiff
path: root/src/atiprobe.c
diff options
context:
space:
mode:
authorGeorge Sapountzis <gsap7@yahoo.gr>2007-03-18 15:50:41 +0200
committerGeorge Sapountzis <gsap7@yahoo.gr>2007-03-21 20:18:51 +0200
commite674338a98c50800637b8ebc01adf3aec2a3eb38 (patch)
treead6227dbf50f1b7c2a15821374a2426034bd634f /src/atiprobe.c
parente7969de8ec572d8801806f9525a9a081a58a03f1 (diff)
[mach64] Single mapping per BAR.
- We reset write-combining of the FB when MMIO registers fall in the linear aperture. - We set MMIOInLinear in all three aperture mappings since the mapping code depends on it. - We map the linear aperture in its entirety for MMIOInLinear also. This simplifies mapping of HW cursor and the LE aperture on BE archs, as they always fall in the linear aperture. - I assumed that BAR[2] is page-aligned (we know it's 4K-aligned for sure).
Diffstat (limited to 'src/atiprobe.c')
-rw-r--r--src/atiprobe.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/atiprobe.c b/src/atiprobe.c
index 01c5763e..36df11d8 100644
--- a/src/atiprobe.c
+++ b/src/atiprobe.c
@@ -217,6 +217,8 @@ ATIMach64Probe
{
CARD16 ChipType = pVideo->chipType;
+ pATI->MMIOInLinear = FALSE;
+
/*
* Probe through auxiliary MMIO aperture if one exists. Because such
* apertures can be enabled/disabled only through PCI, this probes no
@@ -237,8 +239,11 @@ ATIMach64Probe
* Probe through the primary MMIO aperture that exists at the tail end
* of the linear aperture. Test for both 8MB and 4MB linear apertures.
*/
- if ((pVideo->size[0] >= 22) && (pATI->Block0Base = pVideo->memBase[0]))
+ if ((pVideo->size[0] >= 22) &&
+ (pATI->Block0Base = pVideo->memBase[0]))
{
+ pATI->MMIOInLinear = TRUE;
+
pATI->Block0Base += 0x007FFC00U;
if ((pVideo->size[0] >= 23) &&
ATIMach64Detect(pATI, ChipType, Chip))