drm/rockchip: vop2: Add NV21/NV61/NV42 format support

NV21/NV61/NV42 are uv swap format for NV12/NV16/NV24

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I5bffb542bcaacde38089880e7738ab00e32d27d3
This commit is contained in:
Andy Yan 2022-01-08 18:07:09 +08:00 committed by Tao Huang
parent 884b17df32
commit 5e364b4473
2 changed files with 6 additions and 0 deletions

View File

@ -1595,17 +1595,20 @@ static enum vop2_data_format vop2_convert_format(uint32_t format)
case DRM_FORMAT_BGR565:
return VOP2_FMT_RGB565;
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV21:
case DRM_FORMAT_YUV420_8BIT:
return VOP2_FMT_YUV420SP;
case DRM_FORMAT_NV15:
case DRM_FORMAT_YUV420_10BIT:
return VOP2_FMT_YUV420SP_10;
case DRM_FORMAT_NV16:
case DRM_FORMAT_NV61:
return VOP2_FMT_YUV422SP;
case DRM_FORMAT_NV20:
case DRM_FORMAT_Y210:
return VOP2_FMT_YUV422SP_10;
case DRM_FORMAT_NV24:
case DRM_FORMAT_NV42:
return VOP2_FMT_YUV444SP;
case DRM_FORMAT_NV30:
return VOP2_FMT_YUV444SP_10;

View File

@ -67,8 +67,11 @@ static const uint32_t formats_for_esmart[] = {
DRM_FORMAT_RGB565,
DRM_FORMAT_BGR565,
DRM_FORMAT_NV12, /* yuv420_8bit linear mode, 2 plane */
DRM_FORMAT_NV21, /* yvu420_8bit linear mode, 2 plane */
DRM_FORMAT_NV16, /* yuv422_8bit linear mode, 2 plane */
DRM_FORMAT_NV61, /* yvu422_8bit linear mode, 2 plane */
DRM_FORMAT_NV24, /* yuv444_8bit linear mode, 2 plane */
DRM_FORMAT_NV42, /* yvu444_8bit linear mode, 2 plane */
DRM_FORMAT_NV15, /* yuv420_10bit linear mode, 2 plane, no padding */
#ifdef CONFIG_NO_GKI
DRM_FORMAT_NV20, /* yuv422_10bit linear mode, 2 plane, no padding */