summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTerence Hampson <thampson@codeaurora.org>2015-06-10 14:03:03 -0400
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:43:14 -0700
commitf8669530b333e403777f63e222d53cb28511d6bc (patch)
tree567c135a2ac0aaa61c10f9aad8149b3ef5f23e3b
parente5fb82c808a3321aa05bdb2f26d4c03d330851d1 (diff)
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 <thampson@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c5
1 files changed, 4 insertions, 1 deletions
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;