mirror of https://gitee.com/openkylin/linux.git
drm/i915/hdmi: Detect HDMI 2.0 monitors using multiple EDID capabilities
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ä <ville.syrjala@linux.intel.com> Cc: Shashank Sharma <shashank.sharma@intel.com> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1540415073-5102-1-git-send-email-clinton.a.taylor@intel.com
This commit is contained in:
parent
a590d0fdba
commit
47164e0b0d
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue