From f8669530b333e403777f63e222d53cb28511d6bc Mon Sep 17 00:00:00 2001 From: Terence Hampson Date: Wed, 10 Jun 2015 14:03:03 -0400 Subject: msm: mdss: rotator: calculate the correct wb stride using img width The width provided to mdss_mdp_get_plane_sizes, which is used for calculate stride, was using destination region of interest width instead of buffer image width. Change-Id: Ib585999207860fc85adeb1a9b23a6ba31dc543e2 Signed-off-by: Terence Hampson --- drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c index fa291ed5ccc5..7e1a16a6d976 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c +++ b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c @@ -50,6 +50,7 @@ struct mdss_mdp_writeback_ctx { u32 opmode; struct mdss_mdp_format_params *dst_fmt; + u16 img_width; u16 width; u16 height; struct mdss_rect dst_rect; @@ -235,7 +236,7 @@ static int mdss_mdp_writeback_format_setup(struct mdss_mdp_writeback_ctx *ctx, return -EINVAL; } - mdss_mdp_get_plane_sizes(fmt, ctx->width, ctx->height, + mdss_mdp_get_plane_sizes(fmt, ctx->img_width, ctx->height, &ctx->dst_planes, ctx->opmode & MDSS_MDP_OP_BWC_EN, rotation); @@ -364,6 +365,7 @@ static int mdss_mdp_writeback_prepare_wfd(struct mdss_mdp_ctl *ctl, void *arg) pr_debug("wfd setup ctl=%d\n", ctl->num); ctx->opmode = 0; + ctx->img_width = ctl->width; ctx->width = ctl->width; ctx->height = ctl->height; ctx->dst_rect.x = 0; @@ -418,6 +420,7 @@ static int mdss_mdp_writeback_prepare_rot(struct mdss_mdp_ctl *ctl, void *arg) ctx->bwc_mode = 0; ctx->opmode |= ctx->bwc_mode; + ctx->img_width = item->output.width; ctx->width = ctx->dst_rect.w = item->dst_rect.w; ctx->height = ctx->dst_rect.h = item->dst_rect.h; ctx->dst_rect.x = item->dst_rect.x; -- cgit v1.2.3