From: Hsiao Chien Sung <shawn.s...@mediatek.com>

CONST_BLD must be enabled for XRGB formats although the alpha channel
can be ignored, or OVL will still read the value from memory.
This error only affects CRC generation.

Fixes: 119f5173628a ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
Reviewed-by: AngeloGioacchino Del Regno 
<angelogioacchino.delre...@collabora.com>
Reviewed-by: CK Hu <ck...@mediatek.com>
Signed-off-by: Hsiao Chien Sung <shawn.s...@mediatek.com>
---
 drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c 
b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
index f358dbfed5e3..6abefc338045 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
@@ -455,6 +455,14 @@ void mtk_ovl_layer_config(struct device *dev, unsigned int 
idx,
                con |= state->base.alpha & OVL_CON_ALPHA;
        }
 
+       /* CONST_BLD must be enabled for XRGB formats although the alpha channel
+        * can be ignored, or OVL will still read the value from memory.
+        * For RGB888 related formats, whether CONST_BLD is enabled or not won't
+        * affect the result. Therefore we use !has_alpha as the condition.
+        */
+       if (state->base.fb && !state->base.fb->format->has_alpha)
+               ignore_pixel_alpha = OVL_CONST_BLEND;
+
        /* CONST_BLD must be enabled for XRGB formats although the alpha channel
         * can be ignored, or OVL will still read the value from memory.
         * For RGB888 related formats, whether CONST_BLD is enabled or not won't

-- 
Git-146)


Reply via email to