aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Paul <seanpaul@chromium.org>2013-04-25 15:13:26 -0400
committerInki Dae <inki.dae@samsung.com>2013-04-29 01:40:20 -0400
commit0377f4ed9f1aed30292c4e3c87f24e028ae26f36 (patch)
treee06de860134e1e0c9684817d4c21ec92784409b4
parent5f46c333f9522938ed3c54fe9d7ee2b61e41ad2f (diff)
drm/exynos: Don't blend mixer layer 0
This patch disables blending the mixer's layer 0 onto the background (solid color). It doesn't make sense to blend this layer by default, and causes color distortion if the layer is used for arbitrary content. Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r--drivers/gpu/drm/exynos/exynos_mixer.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index f08e2512c931..ec3e376b7e01 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -643,12 +643,14 @@ static void mixer_win_reset(struct mixer_context *ctx)
643 /* setting graphical layers */ 643 /* setting graphical layers */
644 val = MXR_GRP_CFG_COLOR_KEY_DISABLE; /* no blank key */ 644 val = MXR_GRP_CFG_COLOR_KEY_DISABLE; /* no blank key */
645 val |= MXR_GRP_CFG_WIN_BLEND_EN; 645 val |= MXR_GRP_CFG_WIN_BLEND_EN;
646 val |= MXR_GRP_CFG_BLEND_PRE_MUL;
647 val |= MXR_GRP_CFG_PIXEL_BLEND_EN;
648 val |= MXR_GRP_CFG_ALPHA_VAL(0xff); /* non-transparent alpha */ 646 val |= MXR_GRP_CFG_ALPHA_VAL(0xff); /* non-transparent alpha */
649 647
650 /* the same configuration for both layers */ 648 /* Don't blend layer 0 onto the mixer background */
651 mixer_reg_write(res, MXR_GRAPHIC_CFG(0), val); 649 mixer_reg_write(res, MXR_GRAPHIC_CFG(0), val);
650
651 /* Blend layer 1 into layer 0 */
652 val |= MXR_GRP_CFG_BLEND_PRE_MUL;
653 val |= MXR_GRP_CFG_PIXEL_BLEND_EN;
652 mixer_reg_write(res, MXR_GRAPHIC_CFG(1), val); 654 mixer_reg_write(res, MXR_GRAPHIC_CFG(1), val);
653 655
654 /* setting video layers */ 656 /* setting video layers */