diff options
| author | Adrian Salido-Moreno <adrianm@codeaurora.org> | 2012-09-24 17:36:38 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:12:57 -0700 |
| commit | b9607daeccdc9d2933c4ef404b71d60ecabb88f2 (patch) | |
| tree | 07c4bae78a7aa65a584c63a275090bbfacfae2f2 | |
| parent | 5fc450e7de0c3dd765f264d1c18c5afd9817f535 (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.c | 5 |
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) | |
