summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-11-10 15:35:34 +1000
committerDave Airlie <airlied@redhat.com>2008-11-10 15:35:34 +1000
commit327631c8b50a90c8f694ffd9ebd0e5c618e99dff (patch)
treeff0ca878779f63ed3b83123507b96a93dfd28565
parentb1cf46378a54230291ba9fdb4dbbd4bc4befe049 (diff)
radeon: avivo cursors are across the full surface.
fixes cursor on second head
-rw-r--r--linux-core/radeon_cursor.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/linux-core/radeon_cursor.c b/linux-core/radeon_cursor.c
index d352d10f..fbd4143c 100644
--- a/linux-core/radeon_cursor.c
+++ b/linux-core/radeon_cursor.c
@@ -204,6 +204,10 @@ int radeon_crtc_cursor_move(struct drm_crtc *crtc,
radeon_lock_cursor(crtc, true);
if (radeon_is_avivo(dev_priv)) {
+ /* avivo cursor are offset into the total surface */
+ x += crtc->x;
+ y += crtc->y;
+ DRM_DEBUG("x %d y %d c->x %d c->y %d\n", x, y, crtc->x, crtc->y);
RADEON_WRITE(AVIVO_D1CUR_POSITION + radeon_crtc->crtc_offset,
((xorigin ? 0: x) << 16) |
(yorigin ? 0 : y));