summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Salido-Moreno <adrianm@codeaurora.org>2012-09-24 17:36:38 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:12:57 -0700
commitb9607daeccdc9d2933c4ef404b71d60ecabb88f2 (patch)
tree07c4bae78a7aa65a584c63a275090bbfacfae2f2
parent5fc450e7de0c3dd765f264d1c18c5afd9817f535 (diff)
msm: mdss: fix rotator hang for xrgb formats
XRGB formats require constant alpha to be setup when writing back to memory. Change-Id: Ie819b88578a85923d1cde7efe54ca0819c59a611 Signed-off-by: Adrian Salido-Moreno <adrianm@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 05fe3bd655b2..0800913bdec9 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
@@ -150,8 +150,11 @@ static int mdss_mdp_writeback_format_setup(struct mdss_mdp_writeback_ctx *ctx)
(fmt->bits[C1_B_Cb] << 2) |
(fmt->bits[C0_G_Y] << 0);
- if (fmt->alpha_enable)
+ if (fmt->bits[C3_ALPHA] || fmt->alpha_enable) {
dst_format |= BIT(8); /* DSTC3_EN */
+ if (!fmt->alpha_enable)
+ dst_format |= BIT(14); /* DST_ALPHA_X */
+ }
if (fmt->fetch_planes != MDSS_MDP_PLANE_PLANAR) {
pattern = (fmt->element[3] << 24) | (fmt->element[2] << 15) |