drm/arm: hdlcd: Use CMA helper for plane buffer address calculation
authorLiviu Dudau <Liviu.Dudau@arm.com>
Tue, 13 Jun 2017 11:18:03 +0000 (12:18 +0100)
committerLiviu Dudau <Liviu.Dudau@arm.com>
Wed, 21 Jun 2017 09:30:01 +0000 (10:30 +0100)
CMA has gained a recent helper function for calculating the start
of the plane buffer's physical address. Use that instead of the
hand rolled version.

Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
drivers/gpu/drm/arm/hdlcd_crtc.c

index 1a3359c0f6cd2e80441977114ca55aea85c19cb8..0128ebd318f5d46095847c0925446741584cbce2 100644 (file)
@@ -261,21 +261,14 @@ static void hdlcd_plane_atomic_update(struct drm_plane *plane,
 {
        struct drm_framebuffer *fb = plane->state->fb;
        struct hdlcd_drm_private *hdlcd;
-       struct drm_gem_cma_object *gem;
        u32 src_x, src_y, dest_h;
        dma_addr_t scanout_start;
 
        if (!fb)
                return;
 
-       src_x = plane->state->src.x1 >> 16;
-       src_y = plane->state->src.y1 >> 16;
        dest_h = drm_rect_height(&plane->state->dst);
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
-
-       scanout_start = gem->paddr + fb->offsets[0] +
-                       src_y * fb->pitches[0] +
-                       src_x * fb->format->cpp[0];
+       scanout_start = drm_fb_cma_get_gem_addr(fb, plane->state, 0);
 
        hdlcd = plane->dev->dev_private;
        hdlcd_write(hdlcd, HDLCD_REG_FB_LINE_LENGTH, fb->pitches[0]);