diff options
| author | Shalabh Jain <shalabhj@codeaurora.org> | 2013-11-19 17:24:50 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:23:47 -0700 |
| commit | 5e3a8a1745c5b5ab50a70c8dea1757e0b752747c (patch) | |
| tree | 7ad35559205339a58595ddc5d06269133b9ae72e | |
| parent | 272d4979007a1f2dd85debb891db55aa9b7b5c81 (diff) | |
msm: mdss: use default cosite as default chroma site for all dst formats
When BWC is enabled and format is H1V2, downscaling hangs
with a particular cosite configuration. This workaround
avoids the particular configuration
Change-Id: Ib9cd979958cd080f3747732c14e737f0e90fbb3d
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c index 8b6ed00385ba..97ae56ceea5c 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c +++ b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c @@ -17,6 +17,12 @@ #include "mdss_mdp_rotator.h" #include "mdss_panel.h" +/* + * if BWC enabled and format is H1V2 or 420, do not use site C or I. + * Hence, set the bits 29:26 in format register, as zero. + */ +#define BWC_FMT_MASK 0xC3FFFFFF + enum mdss_mdp_writeback_type { MDSS_MDP_WRITEBACK_TYPE_ROTATOR, MDSS_MDP_WRITEBACK_TYPE_LINE, @@ -169,6 +175,8 @@ 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); + dst_format &= BWC_FMT_MASK; + if (fmt->bits[C3_ALPHA] || fmt->alpha_enable) { dst_format |= BIT(8); /* DSTC3_EN */ if (!fmt->alpha_enable) |
