drm/stm: ltdc: reset plane transparency after plane disable
authorYannick Fertre <yannick.fertre@foss.st.com>
Fri, 12 Jul 2024 13:13:44 +0000 (15:13 +0200)
committerRaphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Fri, 19 Jul 2024 09:34:50 +0000 (11:34 +0200)
The plane's opacity should be reseted while the plane
is disabled. It prevents from seeing a possible global
or layer background color set earlier.

Signed-off-by: Yannick Fertre <yannick.fertre@foss.st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240712131344.98113-1-yannick.fertre@foss.st.com
Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
drivers/gpu/drm/stm/ltdc.c

index 0a68a4b17b7db00e6f6643ce5182d56e760d4b30..93ec0c8322b228aafbd05371aa8c87d5fcb926b0 100644 (file)
@@ -1508,6 +1508,9 @@ static void ltdc_plane_atomic_disable(struct drm_plane *plane,
        /* Disable layer */
        regmap_write_bits(ldev->regmap, LTDC_L1CR + lofs, LXCR_LEN | LXCR_CLUTEN |  LXCR_HMEN, 0);
 
+       /* Reset the layer transparency to hide any related background color */
+       regmap_write_bits(ldev->regmap, LTDC_L1CACR + lofs, LXCACR_CONSTA, 0x00);
+
        /* Commit shadow registers = update plane at next vblank */
        if (ldev->caps.plane_reg_shadow)
                regmap_write_bits(ldev->regmap, LTDC_L1RCR + lofs,