Re: [PATCH 1/2] drm/verisilicon: set blend mode for the primary plane
From: Thomas Zimmermann
Date: Thu Sep 10 2026 - 05:10:57 EST
Hi
Am 10.09.26 um 10:45 schrieb Icenowy Zheng:
在 2026-09-10四的 10:31 +0200,Thomas Zimmermann写道:
HiOn DC8000 display controllers (support for them is WIP by Joey Lu)
Am 10.09.26 um 10:00 schrieb Icenowy Zheng:
在 2026-09-10四的 09:58 +0200,Thomas Zimmermann写道:But there are no overlay planes in this driver, are there?
HiI think they're for consistency with overlay planes.
Am 10.09.26 um 09:09 schrieb Icenowy Zheng:
在 2026-09-02三的 01:17 +0800,Icenowy Zheng写道:What do these alpha formats do? Are they a hardware feature? It
Blend modes are now required to expose pixel formats w/Gently ping for reviews.
alpha.
As it's the primary plane and blending is explicitly
disabled,
just
expose PIXEL_NONE blend mode.
looks
like they are programmable, but don't differ from XRGB at all.
What I want to get at is that it might be preferable to remove ARGB
entirely from the primary plane if it does not to serve a purpose.
But
if the driver can do something useful with these formats, it might be
worth exposing that instead.
there seem to be no way to control the blend behavior of the primary
plane.
On DC8200 display controllers the primary plane does have a blending
register, although it seems to be blending with pure black.
IIRC there's a background-color property for the CRTC. So it might be possible to expose this as read-only property. (Not sure.)
Maybe it's viable to just remove the ARGB formats now, and re-introduce
them when overlays are being implemented (and only expose them for the
overlay)?
I see. Thanks for digging through this. I've meanwhile acked the patches as there's at least some support in hardware.
Best regards
Thomas
Thanks,
Icenowy
In pl111, we now remove the ARGB foramts because the hardware does
not
handle them at all. The situation seems less clear in verisilicon.
Best regards
Thomas
Thanks,
Icenowy
Best regards
Thomas
Thanks,
Icenowy
Signed-off-by: Icenowy Zheng <zhengxingda@xxxxxxxxxxx>
---
drivers/gpu/drm/verisilicon/vs_primary_plane.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/verisilicon/vs_primary_plane.c
b/drivers/gpu/drm/verisilicon/vs_primary_plane.c
index 1f2be41ae496c..8d58682d88ef8 100644
--- a/drivers/gpu/drm/verisilicon/vs_primary_plane.c
+++ b/drivers/gpu/drm/verisilicon/vs_primary_plane.c
@@ -7,6 +7,7 @@
#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
+#include <drm/drm_blend.h>
#include <drm/drm_crtc.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
@@ -179,5 +180,7 @@ struct drm_plane
*vs_primary_plane_init(struct
drm_device *drm_dev, struct vs_dc
drm_plane_helper_add(plane,
&vs_primary_plane_helper_funcs);
+ drm_plane_create_blend_mode_property(plane,
+
BIT(DRM_MODE_BLEND_PIXEL_NONE));
return plane;
}
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, (HRB 36809, AG Nürnberg)