summaryrefslogtreecommitdiff
path: root/src/radeon_cursor.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2008-07-21 13:47:09 -0400
committerAlex Deucher <alexdeucher@gmail.com>2008-07-21 13:47:09 -0400
commitb0378bb145c8a915c943bef7d17f2cdecfccc891 (patch)
tree091b235a7706f14115ebcdb86513798fb763defe /src/radeon_cursor.c
parentc18fad622a3c4f9572051120d83af68b625b5686 (diff)
Interlaced mode fixups for AVIVO chips
Diffstat (limited to 'src/radeon_cursor.c')
-rw-r--r--src/radeon_cursor.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index d4804169..13c2b9cb 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -209,11 +209,6 @@ radeon_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y)
if (xorigin >= CURSOR_WIDTH) xorigin = CURSOR_WIDTH - 1;
if (yorigin >= CURSOR_HEIGHT) yorigin = CURSOR_HEIGHT - 1;
- if (mode->Flags & V_INTERLACE)
- y /= 2;
- else if (mode->Flags & V_DBLSCAN)
- y *= 2;
-
if (IS_AVIVO_VARIANT) {
/* avivo cursor spans the full fb width */
if (crtc->rotatedData == NULL) {
@@ -226,6 +221,11 @@ radeon_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y)
OUTREG(AVIVO_D1CUR_HOT_SPOT + radeon_crtc->crtc_offset, (xorigin << 16) | yorigin);
avivo_lock_cursor(crtc, FALSE);
} else {
+ if (mode->Flags & V_INTERLACE)
+ y /= 2;
+ else if (mode->Flags & V_DBLSCAN)
+ y *= 2;
+
if (crtc_id == 0) {
OUTREG(RADEON_CUR_HORZ_VERT_OFF, (RADEON_CUR_LOCK
| (xorigin << 16)