Hi Andy, On 2023-10-13 14:21, Andy Yan wrote: > From: Andy Yan <andy.yan@xxxxxxxxxxxxxx> > > Add the missing 10 bit RGB format for cluster window. > The cluster windows on rk3568/6 only support afbc format, > so change the linear yuv format NV12/16/24 to non-Linear > YUV420_8BIT/YUV420_10BIT/YUYV/Y210. > > Add NV15 for esmart windows. > > Also add some comments. > > Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx> > > --- > > Changes in v2: > - split rename to another patch > > drivers/gpu/drm/rockchip/rockchip_vop2_reg.c | 22 +++++++++++++------- > 1 file changed, 14 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c > index 62b573f282a7..05aee588e8c9 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c > +++ b/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c > @@ -16,6 +16,10 @@ > #include "rockchip_drm_vop2.h" > > static const uint32_t formats_win_full_10bit[] = { > + DRM_FORMAT_XRGB2101010, > + DRM_FORMAT_ARGB2101010, > + DRM_FORMAT_XBGR2101010, > + DRM_FORMAT_ABGR2101010, atomic_check() will fail for these formats due to missing support for these formats in the vop2 driver. Support for these formats should be added to vop2 driver before being exposed as a supported pixel format. vop2_convert_format() return -EINVAL for these and below formats. > DRM_FORMAT_XRGB8888, > DRM_FORMAT_ARGB8888, > DRM_FORMAT_XBGR8888, > @@ -24,9 +28,10 @@ static const uint32_t formats_win_full_10bit[] = { > DRM_FORMAT_BGR888, > DRM_FORMAT_RGB565, > DRM_FORMAT_BGR565, > - DRM_FORMAT_NV12, > - DRM_FORMAT_NV16, > - DRM_FORMAT_NV24, > + DRM_FORMAT_YUV420_8BIT, /* yuv420_8bit non-Linear mode only */ > + DRM_FORMAT_YUV420_10BIT, /* yuv420_10bit non-Linear mode only */ Same for YUV420_8BIT and YUV420_10BIT. > + DRM_FORMAT_YUYV, /* yuv422_8bit non-Linear mode only*/ > + DRM_FORMAT_Y210, /* yuv422_10bit non-Linear mode only */ Same for Y210. > }; > > static const uint32_t formats_win_full_10bit_yuyv[] = { > @@ -38,11 +43,12 @@ static const uint32_t formats_win_full_10bit_yuyv[] = { > DRM_FORMAT_BGR888, > DRM_FORMAT_RGB565, > DRM_FORMAT_BGR565, > - DRM_FORMAT_NV12, > - DRM_FORMAT_NV16, > - DRM_FORMAT_NV24, > - DRM_FORMAT_YVYU, > - DRM_FORMAT_VYUY, > + DRM_FORMAT_NV12, /* yuv420_8bit linear mode, 2 plane */ > + DRM_FORMAT_NV15, /* yuv420_10bit linear mode, 2 plane, no padding */ Same for NV15. Regards, Jonas > + DRM_FORMAT_NV16, /* yuv422_8bit linear mode, 2 plane */ > + DRM_FORMAT_NV24, /* yuv444_8bit linear mode, 2 plane */ > + DRM_FORMAT_YVYU, /* yuv422_8bit[YVYU] linear mode */ > + DRM_FORMAT_VYUY, /* yuv422_8bit[VYUY] linear mode */ > }; > > static const uint32_t formats_win_lite[] = {