[PATCH v5 08/18] drm/rockchip: vop2: Add check for 32 bpp format
Daniel Stone
daniel at fooishbar.org
Mon Dec 9 09:06:05 PST 2024
Hi Andy,
On Mon, 9 Dec 2024 at 12:32, Andy Yan <andyshrk at 163.com> wrote:
> 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.
Cheers,
Daniel
More information about the Linux-rockchip
mailing list