gpu: ipu-v3: add YUV 4:4:4 support

The IDMAC does support reading and writing DRM_FORMAT_YUV444 and
DRM_FORMAT_YVU444.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Liu Ying <gnuiyl@gmail.com>
This commit is contained in:
Philipp Zabel 2016-10-18 13:36:33 +02:00
parent 9c24d680de
commit c9d508c2df
2 changed files with 9 additions and 0 deletions

View file

@ -88,6 +88,8 @@ enum ipu_color_space ipu_drm_fourcc_to_colorspace(u32 drm_fourcc)
case DRM_FORMAT_YVU420: case DRM_FORMAT_YVU420:
case DRM_FORMAT_YUV422: case DRM_FORMAT_YUV422:
case DRM_FORMAT_YVU422: case DRM_FORMAT_YVU422:
case DRM_FORMAT_YUV444:
case DRM_FORMAT_YVU444:
case DRM_FORMAT_NV12: case DRM_FORMAT_NV12:
case DRM_FORMAT_NV21: case DRM_FORMAT_NV21:
case DRM_FORMAT_NV16: case DRM_FORMAT_NV16:

View file

@ -554,6 +554,13 @@ int ipu_cpmem_set_fmt(struct ipuv3_channel *ch, u32 drm_fourcc)
/* burst size */ /* burst size */
ipu_ch_param_write_field(ch, IPU_FIELD_NPB, 31); ipu_ch_param_write_field(ch, IPU_FIELD_NPB, 31);
break; break;
case DRM_FORMAT_YUV444:
case DRM_FORMAT_YVU444:
/* pix format */
ipu_ch_param_write_field(ch, IPU_FIELD_PFS, 0);
/* burst size */
ipu_ch_param_write_field(ch, IPU_FIELD_NPB, 31);
break;
case DRM_FORMAT_NV12: case DRM_FORMAT_NV12:
/* pix format */ /* pix format */
ipu_ch_param_write_field(ch, IPU_FIELD_PFS, 4); ipu_ch_param_write_field(ch, IPU_FIELD_PFS, 4);