[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210903085740.23108-1-raphael.gallais-pou@foss.st.com>
Date: Fri, 3 Sep 2021 08:58:56 +0000
From: Raphael GALLAIS-POU - foss <raphael.gallais-pou@...s.st.com>
To: Yannick FERTRE - foss <yannick.fertre@...s.st.com>,
Philippe CORNU - foss <philippe.cornu@...s.st.com>,
Benjamin Gaignard <benjamin.gaignard@...aro.org>
CC: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
"Maxime Coquelin" <mcoquelin.stm32@...il.com>,
Alexandre TORGUE - foss <alexandre.torgue@...s.st.com>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-stm32@...md-mailman.stormreply.com"
<linux-stm32@...md-mailman.stormreply.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Raphael GALLAIS-POU - foss <raphael.gallais-pou@...s.st.com>,
Raphael GALLAIS-POU <raphael.gallais-pou@...com>
Subject: [PATCH] drm/stm: ltdc: add layer alpha support
Android Hardware Composer supports alpha values applied to layers.
Enabling non-opaque layers for the STM CRTC could help offload GPU
resources for screen composition.
Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@...s.st.com>
---
drivers/gpu/drm/stm/ltdc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 195de30eb90c..e0fef8bacfa8 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -845,7 +845,7 @@ static void ltdc_plane_atomic_update(struct drm_plane *plane,
LXCFBLR_CFBLL | LXCFBLR_CFBP, val);
/* Specifies the constant alpha value */
- val = CONSTA_MAX;
+ val = newstate->alpha >> 8;
reg_update_bits(ldev->regs, LTDC_L1CACR + lofs, LXCACR_CONSTA, val);
/* Specifies the blending factors */
@@ -997,6 +997,8 @@ static struct drm_plane *ltdc_plane_create(struct drm_device *ddev,
drm_plane_helper_add(plane, <dc_plane_helper_funcs);
+ drm_plane_create_alpha_property(plane);
+
DRM_DEBUG_DRIVER("plane:%d created\n", plane->base.id);
return plane;
--
2.17.1
Powered by blists - more mailing lists