summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShalabh Jain <shalabhj@codeaurora.org>2013-11-19 17:24:50 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:23:47 -0700
commit5e3a8a1745c5b5ab50a70c8dea1757e0b752747c (patch)
tree7ad35559205339a58595ddc5d06269133b9ae72e
parent272d4979007a1f2dd85debb891db55aa9b7b5c81 (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.c8
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)