summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-07-18 22:20:08 +0200
committerMichel Dänzer <michel@daenzer.net>2009-07-18 22:20:08 +0200
commitf32069f42b3e4643f15148d0b96164def00dcc74 (patch)
tree8115e48354770a21409a6a1b66e9cb2397e92b52
parent27bd9fc9b2c0eeff488c1f26f1355a7fa3655520 (diff)
Set the STALL bit in the CRTC_GUI_TRIG_VLINE registers.
As recommended by the register reference when using the WAIT_CRTC_VLINE bit in the WAIT_UNTIL register, as we are.
-rw-r--r--src/radeon_commonfuncs.c9
-rw-r--r--src/radeon_reg.h3
2 files changed, 8 insertions, 4 deletions
diff --git a/src/radeon_commonfuncs.c b/src/radeon_commonfuncs.c
index 3df7daf7..6f501a60 100644
--- a/src/radeon_commonfuncs.c
+++ b/src/radeon_commonfuncs.c
@@ -846,7 +846,8 @@ void drmmode_wait_for_vline(ScrnInfoPtr pScrn, PixmapPtr pPix,
OUT_ACCEL_REG(RADEON_CRTC_GUI_TRIG_VLINE, /* another placeholder */
((start << RADEON_CRTC_GUI_TRIG_VLINE_START_SHIFT) |
(stop << RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT) |
- RADEON_CRTC_GUI_TRIG_VLINE_INV));
+ RADEON_CRTC_GUI_TRIG_VLINE_INV |
+ RADEON_CRTC_GUI_TRIG_VLINE_STALL));
}
OUT_ACCEL_REG(RADEON_WAIT_UNTIL, (RADEON_WAIT_CRTC_VLINE |
RADEON_ENG_DISPLAY_SELECT_CRTC0));
@@ -918,12 +919,14 @@ void FUNC_NAME(RADEONWaitForVLine)(ScrnInfoPtr pScrn, PixmapPtr pPix,
OUT_ACCEL_REG(RADEON_CRTC_GUI_TRIG_VLINE,
((start << RADEON_CRTC_GUI_TRIG_VLINE_START_SHIFT) |
(stop << RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT) |
- RADEON_CRTC_GUI_TRIG_VLINE_INV));
+ RADEON_CRTC_GUI_TRIG_VLINE_INV |
+ RADEON_CRTC_GUI_TRIG_VLINE_STALL));
else
OUT_ACCEL_REG(RADEON_CRTC2_GUI_TRIG_VLINE,
((start << RADEON_CRTC_GUI_TRIG_VLINE_START_SHIFT) |
(stop << RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT) |
- RADEON_CRTC_GUI_TRIG_VLINE_INV));
+ RADEON_CRTC_GUI_TRIG_VLINE_INV |
+ RADEON_CRTC_GUI_TRIG_VLINE_STALL));
}
if (crtc == 0)
diff --git a/src/radeon_reg.h b/src/radeon_reg.h
index 8da513b9..1db7c673 100644
--- a/src/radeon_reg.h
+++ b/src/radeon_reg.h
@@ -445,8 +445,9 @@
# define RADEON_CRTC_V_CUTOFF_ACTIVE_EN (1<<5)
#define RADEON_CRTC_GUI_TRIG_VLINE 0x0218
# define RADEON_CRTC_GUI_TRIG_VLINE_START_SHIFT 0
-# define RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT 16
# define RADEON_CRTC_GUI_TRIG_VLINE_INV (1 << 15)
+# define RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT 16
+# define RADEON_CRTC_GUI_TRIG_VLINE_STALL (1 << 30)
#define RADEON_CRTC_H_SYNC_STRT_WID 0x0204
# define RADEON_CRTC_H_SYNC_STRT_PIX (0x07 << 0)
# define RADEON_CRTC_H_SYNC_STRT_CHAR (0x3ff << 3)