From 47164e0b0df88494235e6416a68ffcb993503b8d Mon Sep 17 00:00:00 2001 From: Clint Taylor Date: Wed, 24 Oct 2018 14:04:33 -0700 Subject: [PATCH] drm/i915/hdmi: Detect HDMI 2.0 monitors using multiple EDID capabilities MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit HDMI 2.0 monitors may not support SCDC and still be able to accept VICs above 63. Use multiple EDID capbilities to determine if the SINK is actually an HDMI 2.0 device. The QD980B HDMI 2.0 Analyzer generates unique EDIDs during CTS tests that don't contain a HDMI Forum VSDB if the block is not used during the test. The current HDMI AVI infoframe code only uses the SCDC supported information in the HDMI Forum VSDB to determine if the sink is HDMI 2.0. This patch adds a check for YCbCr420 present in the EDID supported formats as well as the existing SCDC supported check. HDMI 2.0 CTS HF1-51 test fails on the QD980B. V2: Make check for display_info->color formats == YCbCR420 and SCDC Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107894 Cc: Ville Syrjälä Cc: Shashank Sharma Signed-off-by: Clint Taylor Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/1540415073-5102-1-git-send-email-clinton.a.taylor@intel.com --- drivers/gpu/drm/i915/intel_hdmi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index a2dab0b6bde6..d7234e03fdb0 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -474,7 +474,8 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, const struct drm_display_mode *adjusted_mode = &crtc_state->base.adjusted_mode; struct drm_connector *connector = &intel_hdmi->attached_connector->base; - bool is_hdmi2_sink = connector->display_info.hdmi.scdc.supported; + bool is_hdmi2_sink = connector->display_info.hdmi.scdc.supported || + connector->display_info.color_formats & DRM_COLOR_FORMAT_YCRCB420; union hdmi_infoframe frame; int ret; -- 2.30.2