MLK-18728: drm: imx: hdp: fix 4K@60 on mscale
authorLaurentiu Palcu <laurentiu.palcu@nxp.com>
Mon, 2 Jul 2018 10:03:38 +0000 (13:03 +0300)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
On mscale, 4K@60 uses YUV420. However, the following commit:

8eeed3553bd1: MLK-18690-1: hdmi: Rewrite hdmi avi infoframe function

moved to using the kernel built-in infoframe creation routine, instead
of Cadence's one, but skipped handling the various colorspace formats.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
drivers/gpu/drm/imx/hdp/imx-hdmi.c

index 5b945c5..57d987a 100644 (file)
@@ -127,6 +127,21 @@ static int hdmi_avi_info_set(struct imx_hdp *hdp,
                                          HDMI_COLORIMETRY_NONE;
        frame.extended_colorimetry = ext_colorimetry;
 
+       switch (format) {
+       case YCBCR_4_4_4:
+               frame.colorspace = HDMI_COLORSPACE_YUV444;
+               break;
+       case YCBCR_4_2_2:
+               frame.colorspace = HDMI_COLORSPACE_YUV422;
+               break;
+       case YCBCR_4_2_0:
+               frame.colorspace = HDMI_COLORSPACE_YUV420;
+               break;
+       default:
+               frame.colorspace = HDMI_COLORSPACE_RGB;
+               break;
+       }
+
        ret = hdmi_avi_infoframe_pack(&frame, buf + 1, sizeof(buf) - 1);
        if (ret < 0) {
                DRM_ERROR("failed to pack AVI infoframe: %d\n", ret);