drm/exynos: fix source data argument for plane
authorJoonyoung Shim <jy0922.shim@samsung.com>
Mon, 1 Jun 2015 15:04:39 +0000 (12:04 -0300)
committerInki Dae <daeinki@gmail.com>
Fri, 19 Jun 2015 15:32:44 +0000 (00:32 +0900)
The exynos_update_plane function needs 16.16 fixed point source data.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_crtc.c

index 9006b947e03c0a431141144c7ed21ae88b14f02b..363b0193d58085592f134a53050c08cab38d19d0 100644 (file)
@@ -127,7 +127,8 @@ static int exynos_drm_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
        crtc_h = fb->height - y;
 
        return exynos_update_plane(crtc->primary, crtc, fb, 0, 0,
-                                  crtc_w, crtc_h, x, y, crtc_w, crtc_h);
+                                  crtc_w, crtc_h, x << 16, y << 16,
+                                  crtc_w << 16, crtc_h << 16);
 }
 
 static void exynos_drm_crtc_disable(struct drm_crtc *crtc)
@@ -202,8 +203,8 @@ static int exynos_drm_crtc_page_flip(struct drm_crtc *crtc,
        crtc_w = fb->width - crtc->x;
        crtc_h = fb->height - crtc->y;
        ret = exynos_update_plane(crtc->primary, crtc, fb, 0, 0,
-                                 crtc_w, crtc_h, crtc->x, crtc->y,
-                                 crtc_w, crtc_h);
+                                 crtc_w, crtc_h, crtc->x << 16, crtc->y << 16,
+                                 crtc_w << 16, crtc_h << 16);
        if (ret) {
                crtc->primary->fb = old_fb;
                spin_lock_irq(&dev->event_lock);