summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@koto.keithp.com>2007-08-10 17:54:32 -0700
committerKeith Packard <keithp@koto.keithp.com>2007-08-10 17:54:32 -0700
commit5bc194d3d3c87bb0128d9ac10f090f031345eb37 (patch)
treee60485c26be6afa87e11ab3673bfb792974c31c8
parent64b943c79cf957a4c54482720195d7f27b7f0c0d (diff)
downloadxorg-driver-xf86-video-intel-5bc194d3d3c87bb0128d9ac10f090f031345eb37.tar.gz
Set DSPATILEOFF/DSPBTILEOFF to handle 965 tiled frame buffers.
DSPATILEOFF and DSPBTILEOFF replace DSPASURF and DSPBSURF when the frame buffer is in tiled mode.
-rw-r--r--src/i830_display.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/i830_display.c b/src/i830_display.c
index a77da1b0..7a229b27 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -375,6 +375,7 @@ i830PipeSetBase(xf86CrtcPtr crtc, int x, int y)
unsigned long Start, Offset;
int dspbase = (pipe == 0 ? DSPABASE : DSPBBASE);
int dspsurf = (pipe == 0 ? DSPASURF : DSPBSURF);
+ int dsptileoff = (pipe == 0 ? DSPATILEOFF : DSPBTILEOFF);
Offset = ((y * pScrn->displayWidth + x) * pI830->cpp);
if (pI830->front_buffer == NULL) {
@@ -399,6 +400,7 @@ i830PipeSetBase(xf86CrtcPtr crtc, int x, int y)
POSTING_READ(dspbase);
OUTREG(dspsurf, Start);
POSTING_READ(dspsurf);
+ OUTREG(dsptileoff, (y << 16) | x);
} else {
OUTREG(dspbase, Start + Offset);
POSTING_READ(dspbase);