diff options
-rw-r--r-- | drivers/gpu/drm/arm/hdlcd_crtc.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c index 1a3359c0f6cd..0128ebd318f5 100644 --- a/drivers/gpu/drm/arm/hdlcd_crtc.c +++ b/drivers/gpu/drm/arm/hdlcd_crtc.c | |||
@@ -261,21 +261,14 @@ static void hdlcd_plane_atomic_update(struct drm_plane *plane, | |||
261 | { | 261 | { |
262 | struct drm_framebuffer *fb = plane->state->fb; | 262 | struct drm_framebuffer *fb = plane->state->fb; |
263 | struct hdlcd_drm_private *hdlcd; | 263 | struct hdlcd_drm_private *hdlcd; |
264 | struct drm_gem_cma_object *gem; | ||
265 | u32 src_x, src_y, dest_h; | 264 | u32 src_x, src_y, dest_h; |
266 | dma_addr_t scanout_start; | 265 | dma_addr_t scanout_start; |
267 | 266 | ||
268 | if (!fb) | 267 | if (!fb) |
269 | return; | 268 | return; |
270 | 269 | ||
271 | src_x = plane->state->src.x1 >> 16; | ||
272 | src_y = plane->state->src.y1 >> 16; | ||
273 | dest_h = drm_rect_height(&plane->state->dst); | 270 | dest_h = drm_rect_height(&plane->state->dst); |
274 | gem = drm_fb_cma_get_gem_obj(fb, 0); | 271 | scanout_start = drm_fb_cma_get_gem_addr(fb, plane->state, 0); |
275 | |||
276 | scanout_start = gem->paddr + fb->offsets[0] + | ||
277 | src_y * fb->pitches[0] + | ||
278 | src_x * fb->format->cpp[0]; | ||
279 | 272 | ||
280 | hdlcd = plane->dev->dev_private; | 273 | hdlcd = plane->dev->dev_private; |
281 | hdlcd_write(hdlcd, HDLCD_REG_FB_LINE_LENGTH, fb->pitches[0]); | 274 | hdlcd_write(hdlcd, HDLCD_REG_FB_LINE_LENGTH, fb->pitches[0]); |