From: Hyun Kwon Date: Wed, 7 Mar 2018 22:40:36 +0000 (-0800) Subject: drm: xilinx: plane: Use drm_format_plane_width_bytes X-Git-Tag: xilinx-v2018.1~51 X-Git-Url: https://rtime.felk.cvut.cz/gitweb/zynq/linux.git/commitdiff_plain/632b193a7ec6bc9de14cb512ae97c3412e11bfce drm: xilinx: plane: Use drm_format_plane_width_bytes This will calculate the number of bytes correctly for macropixel formats. Signed-off-by: Hyun Kwon Reviewed-by: Satish Kumar Nagireddy Signed-off-by: Michal Simek --- diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c index 67b87c5d01fa..8467f22f86af 100644 --- a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c +++ b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c @@ -297,10 +297,13 @@ int xilinx_drm_plane_mode_set(struct drm_plane *base_plane, } plane->dma[i].xt.numf = height; - plane->dma[i].sgl[0].size = width * cpp; + plane->dma[i].sgl[0].size = drm_format_plane_width_bytes(info, + i, + width); plane->dma[i].sgl[0].icg = fb->pitches[i] - plane->dma[i].sgl[0].size; - offset = src_x * cpp + src_y * fb->pitches[i]; + offset = drm_format_plane_width_bytes(info, i, src_x); + offset += src_y * fb->pitches[i]; offset += fb->offsets[i]; plane->dma[i].xt.src_start = obj->paddr + offset; plane->dma[i].xt.frame_size = 1;