[PATCH v2] drm: rockchip: add drm_plane_create_blend_mode_property

Johan Jonker via B4 Relay posted 1 patch 2 weeks, 1 day ago
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH v2] drm: rockchip: add drm_plane_create_blend_mode_property
Posted by Johan Jonker via B4 Relay 2 weeks, 1 day ago
From: Johan Jonker <jbx6244@gmail.com>

A validate_blend_mode_for_alpha_formats() function was added that
fills the kernel log with warnings for Rockchip VOP version 1 SoCs.
Add a drm_plane_create_blend_mode_property() function as fix.
VOP version 1 doesn't support blending with a pixel alpha background
layer, only with a constant alpha. Advertise blending capability with
DRM_MODE_BLEND_PIXEL_NONE.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---

Changed V2:
Add comment line
---
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 0090d8ff0c79..0bc5b606f021 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1850,6 +1850,8 @@ static void vop_plane_add_properties(struct drm_plane *plane,
 	if (flags)
 		drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0,
 						   DRM_MODE_ROTATE_0 | flags);
+	drm_plane_create_blend_mode_property(plane,
+					     BIT(DRM_MODE_BLEND_PIXEL_NONE));
 }
 
 static int vop_create_crtc(struct vop *vop)

---
base-commit: 9d80aa4617b32f5054c5aa471d06b66704854935
change-id: 20260909-blend-c89d2c9f6984

Best regards,
-- 
Johan Jonker <jbx6244@gmail.com>
Re: [PATCH v2] drm: rockchip: add drm_plane_create_blend_mode_property
Posted by Diederik de Haas 2 days, 22 hours ago
On Wed Sep 9, 2026 at 11:20 PM CEST, Johan Jonker wrote:
> A validate_blend_mode_for_alpha_formats() function was added that
> fills the kernel log with warnings for Rockchip VOP version 1 SoCs.
> Add a drm_plane_create_blend_mode_property() function as fix.
> VOP version 1 doesn't support blending with a pixel alpha background
> layer, only with a constant alpha. Advertise blending capability with
> DRM_MODE_BLEND_PIXEL_NONE.

On a 7.3-rc1 kernel without this patch, I saw the following:

Rock64 (RK3328):
```sh
root@rock64-test:~# dmesg --level 4 | grep PLANE
[    7.567004] rockchip-drm display-subsystem: [drm] [PLANE:35:plane-0] pixel format with alpha exposed but blend mode not setup. Please fix.
[    7.567083] rockchip-drm display-subsystem: [drm] [PLANE:38:plane-1] pixel format with alpha exposed but blend mode not setup. Please fix.
[    7.567132] rockchip-drm display-subsystem: [drm] [PLANE:42:plane-2] pixel format with alpha exposed but blend mode not setup. Please fix.
```

RockPro64 (RK3399):
```sh
root@rockpro64:~# dmesg --level 4 | grep PLANE
[    5.695597] rockchip-drm display-subsystem: [drm] [PLANE:35:plane-0] pixel format with alpha exposed but blend mode not setup. Please fix.
[    5.695636] rockchip-drm display-subsystem: [drm] [PLANE:38:plane-1] pixel format with alpha exposed but blend mode not setup. Please fix.
[    5.695665] rockchip-drm display-subsystem: [drm] [PLANE:42:plane-2] pixel format with alpha exposed but blend mode not setup. Please fix.
[    5.695692] rockchip-drm display-subsystem: [drm] [PLANE:45:plane-3] pixel format with alpha exposed but blend mode not setup. Please fix.
[    5.695718] rockchip-drm display-subsystem: [drm] [PLANE:48:plane-4] pixel format with alpha exposed but blend mode not setup. Please fix.
[    5.695745] rockchip-drm display-subsystem: [drm] [PLANE:51:plane-5] pixel format with alpha exposed but blend mode not setup. Please fix.
```

And on a (7.3-rc4) kernel *with* this patch, those warnings were gone.
Thanks! Feel free to include

Tested-by: Diederik de Haas <diederik@cknow-tech.com>  # Rock64, RockPro64

Cheers,
  Diederik

> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
> ---
>
> Changed V2:
> Add comment line
> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index 0090d8ff0c79..0bc5b606f021 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -1850,6 +1850,8 @@ static void vop_plane_add_properties(struct drm_plane *plane,
>  	if (flags)
>  		drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0,
>  						   DRM_MODE_ROTATE_0 | flags);
> +	drm_plane_create_blend_mode_property(plane,
> +					     BIT(DRM_MODE_BLEND_PIXEL_NONE));
>  }
>  
>  static int vop_create_crtc(struct vop *vop)
>
> ---
> base-commit: 9d80aa4617b32f5054c5aa471d06b66704854935
> change-id: 20260909-blend-c89d2c9f6984
>
> Best regards,