Re:Re: [PATCH v5 08/18] drm/rockchip: vop2: Add check for 32 bpp format
From: Andy Yan <hidden>
Date: 2024-12-10 07:03:42
Also in:
dri-devel, linux-devicetree, linux-rockchip, lkml
From: Andy Yan <hidden>
Date: 2024-12-10 07:03:42
Also in:
dri-devel, linux-devicetree, linux-rockchip, lkml
Hi Daniel, At 2024-12-10 01:06:05, "Daniel Stone" [off-list ref] wrote:
Hi Andy, On Mon, 9 Dec 2024 at 12:32, Andy Yan [off-list ref] wrote:quoted
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index bd8db45eeba6..1f101a3c3942 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c@@ -1224,7 +1224,15 @@ static int vop2_plane_atomic_check(struct drm_plane *plane, return -EINVAL; } } + } + if (fb->format->format == DRM_FORMAT_XRGB2101010 || fb->format->format == DRM_FORMAT_XBGR2101010) { + if (vop2->data->soc_id == 3588) { + if (!rockchip_afbc(plane, fb->modifier)) { + drm_err(vop2->drm, "Unsupported linear 32 bpp for %s\n", win->data->name); + return -EINVAL; + } + }Please do this in the format_mod_supported() hook, so userspace can see the true support of each format/modifier per plane. This will then be checked in drm_atomic_plane_check() so you don't need to open-code it here.
Thanks, will do in V6.
Cheers, Daniel