The RGB888/BGR888/NV16/NV61/NV24/NV42 pixel formats are not supported
by DPR. They cannot get the benefits(i.e., tile resolving and
underrun-proof) from the prefetch engines. Also, 16bit and 32bit
RGB pixel formats are widely used by GUI, while NV12 pixel format
is the only pixel format supported by VPU. Thus, it makes little
sense to support the pixel formats which are not supported by DPR.
Another idea is that removing the pixel formats makes the driver
a bit simpler since we don't have to deal with the cases in which
prefetch engines are bypassed.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
DRM_FORMAT_RGBX8888,
/* DRM_FORMAT_BGRA8888, */
DRM_FORMAT_BGRX8888,
- DRM_FORMAT_RGB888,
- DRM_FORMAT_BGR888,
DRM_FORMAT_RGB565,
DRM_FORMAT_YUYV,
DRM_FORMAT_UYVY,
DRM_FORMAT_NV12,
DRM_FORMAT_NV21,
- DRM_FORMAT_NV16,
- DRM_FORMAT_NV61,
- DRM_FORMAT_NV24,
- DRM_FORMAT_NV42,
};
static const uint64_t dpu_format_modifiers[] = {
return false;
switch (format) {
- case DRM_FORMAT_RGB888:
- case DRM_FORMAT_BGR888:
case DRM_FORMAT_YUYV:
case DRM_FORMAT_UYVY:
- case DRM_FORMAT_NV16:
- case DRM_FORMAT_NV61:
- case DRM_FORMAT_NV24:
- case DRM_FORMAT_NV42:
return modifier == DRM_FORMAT_MOD_LINEAR;
case DRM_FORMAT_XRGB8888:
case DRM_FORMAT_XBGR8888:
break;
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV21:
- case DRM_FORMAT_NV16:
- case DRM_FORMAT_NV61:
- case DRM_FORMAT_NV24:
- case DRM_FORMAT_NV42:
bpp = 8;
break;
default:
break;
case DRM_FORMAT_NV12:
case DRM_FORMAT_NV21:
- case DRM_FORMAT_NV16:
- case DRM_FORMAT_NV61:
- case DRM_FORMAT_NV24:
- case DRM_FORMAT_NV42:
bpp = 8;
break;
default: