diff options
author | Sean Paul <seanpaul@chromium.org> | 2013-04-25 15:13:26 -0400 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2013-04-29 01:40:20 -0400 |
commit | 0377f4ed9f1aed30292c4e3c87f24e028ae26f36 (patch) | |
tree | e06de860134e1e0c9684817d4c21ec92784409b4 | |
parent | 5f46c333f9522938ed3c54fe9d7ee2b61e41ad2f (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.c | 8 |
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 */ |