From: Vincent Abriou Date: Tue, 9 Feb 2016 16:08:56 +0000 (+0100) Subject: drm/sti: GDP cropping fails when we remove 2 pixels horizontally X-Git-Tag: v4.6-rc1~61^2~3^2~26 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=704cb30c5a0a2285208e5887a62d542926a52b3e;p=karo-tx-linux.git drm/sti: GDP cropping fails when we remove 2 pixels horizontally GDP source width should be equal to the destination width to get rid of this issue. Signed-off-by: Vincent Abriou Reviewed-by: Benjamin Gaignard --- diff --git a/drivers/gpu/drm/sti/sti_gdp.c b/drivers/gpu/drm/sti/sti_gdp.c index 0a696add1768..6c1a695a07e1 100644 --- a/drivers/gpu/drm/sti/sti_gdp.c +++ b/drivers/gpu/drm/sti/sti_gdp.c @@ -471,10 +471,6 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane, top_field->gam_gdp_pml += src_x * (bpp >> 3); top_field->gam_gdp_pml += src_y * fb->pitches[0]; - /* input parameters */ - top_field->gam_gdp_pmp = fb->pitches[0]; - top_field->gam_gdp_size = src_h << 16 | src_w; - /* output parameters (clamped / cropped) */ dst_w = sti_gdp_get_dst(gdp->dev, dst_w, src_w); dst_h = sti_gdp_get_dst(gdp->dev, dst_h, src_h); @@ -485,6 +481,11 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane, top_field->gam_gdp_vpo = (ydo << 16) | xdo; top_field->gam_gdp_vps = (yds << 16) | xds; + /* input parameters */ + src_w = dst_w; + top_field->gam_gdp_pmp = fb->pitches[0]; + top_field->gam_gdp_size = src_h << 16 | src_w; + /* Same content and chained together */ memcpy(btm_field, top_field, sizeof(*btm_field)); top_field->gam_gdp_nvn = list->btm_field_paddr;