drm/mgag200: Set cursor scanout address to correct BO
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 23 Jul 2019 07:54:24 +0000 (09:54 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 24 Jul 2019 07:48:03 +0000 (09:48 +0200)
The hardware requires the correct memory address of the buffer. Currently
the same BO's address is programmed unconditionally, so only every second
cursor update actually becomes visible.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Fixes: 94dc57b10399 ("drm/mgag200: Rewrite cursor handling")
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190723075425.24028-3-tzimmermann@suse.de
drivers/gpu/drm/mgag200/mgag200_cursor.c

index a19975931c6d87153e4d8ca78a137e6e047a2800..f11b862cbed9fa9120e2ec27b0f83e93d9982af3 100644 (file)
@@ -112,7 +112,7 @@ int mga_crtc_cursor_set(struct drm_crtc *crtc,
                        "failed to kmap cursor updates: %d\n", ret);
                goto err_drm_gem_vram_unpin_dst;
        }
-       gpu_addr = drm_gem_vram_offset(pixels_2);
+       gpu_addr = drm_gem_vram_offset(pixels_next);
        if (gpu_addr < 0) {
                ret = (int)gpu_addr;
                dev_err(&dev->pdev->dev,