summaryrefslogtreecommitdiff
path: root/src/radeon_cursor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/radeon_cursor.c')
-rw-r--r--src/radeon_cursor.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 538c8b20..8eff9d1f 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -225,7 +225,7 @@ radeon_crtc_hide_cursor (xf86CrtcPtr crtc)
if (IS_DCE4_VARIANT) {
evergreen_lock_cursor(crtc, TRUE);
evergreen_setup_cursor(crtc, FALSE);
- evergreen_lock_cursor(crtc, TRUE);
+ evergreen_lock_cursor(crtc, FALSE);
} else if (IS_AVIVO_VARIANT) {
avivo_lock_cursor(crtc, TRUE);
avivo_setup_cursor(crtc, FALSE);
@@ -265,7 +265,12 @@ radeon_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y)
if (yorigin >= CURSOR_HEIGHT) yorigin = CURSOR_HEIGHT - 1;
if (IS_DCE4_VARIANT) {
- /* XXX - does evergreen need a similar hack as below? */
+ /* avivo cursor spans the full fb width */
+ if (crtc->rotatedData == NULL) {
+ x += crtc->x;
+ y += crtc->y;
+ }
+
evergreen_lock_cursor(crtc, TRUE);
OUTREG(EVERGREEN_CUR_POSITION + radeon_crtc->crtc_offset, ((xorigin ? 0 : x) << 16)
| (yorigin ? 0 : y));