From dd37aa69a7aca733913668f15bcd3aafae47914a Mon Sep 17 00:00:00 2001 From: Laurentiu Palcu Date: Tue, 27 Feb 2018 13:11:19 +0200 Subject: [PATCH] MLK-17634-19: drm: imx: dcss: set crtc output pipe to P010 only if sink suports YUV420 Signed-off-by: Laurentiu Palcu --- drivers/gpu/drm/imx/dcss/dcss-crtc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/imx/dcss/dcss-crtc.c b/drivers/gpu/drm/imx/dcss/dcss-crtc.c index 6f72839cd864..e51d71ce5c1f 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-crtc.c +++ b/drivers/gpu/drm/imx/dcss/dcss-crtc.c @@ -170,6 +170,7 @@ void dcss_crtc_setup_opipe(struct drm_crtc *crtc, struct drm_connector *conn, { struct dcss_crtc *dcss_crtc = container_of(crtc, struct dcss_crtc, base); + struct drm_display_info *di = &conn->display_info; int vic; if ((colorimetry & HDMI_EXTENDED_COLORIMETRY_BT2020) || @@ -197,8 +198,9 @@ void dcss_crtc_setup_opipe(struct drm_crtc *crtc, struct drm_connector *conn, vic = drm_match_cea_mode(&crtc->state->adjusted_mode); /* FIXME: we should get the connector colorspace some other way */ - if (vic == 97 && conn->state->hdr_source_metadata_blob_ptr && - conn->state->hdr_source_metadata_blob_ptr->length) + if (vic == 97 && + (di->color_formats & DRM_COLOR_FORMAT_YCRCB420) && + (di->bpc >= 10)) dcss_crtc->opipe_pix_format = DRM_FORMAT_P010; else dcss_crtc->opipe_pix_format = DRM_FORMAT_ARGB8888; -- 2.17.1