diff options
author | George Sapountzis <gsap7@yahoo.gr> | 2007-03-18 15:50:41 +0200 |
---|---|---|
committer | George Sapountzis <gsap7@yahoo.gr> | 2007-03-21 20:18:51 +0200 |
commit | e674338a98c50800637b8ebc01adf3aec2a3eb38 (patch) | |
tree | ad6227dbf50f1b7c2a15821374a2426034bd634f /src/atiprobe.c | |
parent | e7969de8ec572d8801806f9525a9a081a58a03f1 (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.c | 7 |
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)) |