summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@mandolin.keithp.com>2007-01-03 00:04:58 -0800
committerKeith Packard <keithp@mandolin.keithp.com>2007-01-03 00:04:58 -0800
commit58e797b2caa6effa5455fc1f13dc4c58d0658744 (patch)
treeecd7d399944176ef70c7277fe4ba5730c7f12b06
parent5057769d3a7c1b3a94f49bbff47b9697f368d975 (diff)
Sync dspbase/dspsurf registers by re-reading them.
This seems to eliminate base/surf value confusion during EnterVT.
-rw-r--r--src/i830_display.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/i830_display.c b/src/i830_display.c
index 9ec46a45..d124ba0a 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -351,9 +351,12 @@ i830PipeSetBase(xf86CrtcPtr crtc, int x, int y)
if (IS_I965G(pI830)) {
OUTREG(dspbase, ((y * pScrn->displayWidth + x) * pI830->cpp));
+ (void) INREG(dspbase);
OUTREG(dspsurf, Start);
+ (void) INREG(dspsurf);
} else {
OUTREG(dspbase, Start + ((y * pScrn->displayWidth + x) * pI830->cpp));
+ (void) INREG(dspbase);
}
crtc->x = x;