From: Tomi Valkeinen Date: Wed, 3 May 2017 12:01:10 +0000 (+0300) Subject: drm/omap: cleanup offset calculation X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=185e23e1f63aa3f2a7ad77f9315b5f8d84002bb0;p=openwrt%2Fstaging%2Fblogic.git drm/omap: cleanup offset calculation The code to calculate offset in dispc's calc_offset() is overly complex. Simplify it. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c index 77d10bf9285f..5c4288f44573 100644 --- a/drivers/gpu/drm/omapdrm/dss/dispc.c +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c @@ -1923,11 +1923,9 @@ static void calc_offset(u16 screen_width, u16 width, * field 0 = even field = bottom field * field 1 = odd field = top field */ + *offset0 = field_offset * screen_width * ps; *offset1 = 0; - if (field_offset) - *offset0 = *offset1 + field_offset * screen_width * ps; - else - *offset0 = *offset1; + *row_inc = pixinc(1 + (y_predecim * screen_width - width * x_predecim) + (fieldmode ? screen_width : 0), ps); if (color_mode == OMAP_DSS_COLOR_YUV2 ||