From: Ville Syrjälä Date: Thu, 9 Apr 2026 10:15:36 +0000 (+0300) Subject: drm/i915/dp: Require a HDMI sink for YCbCr output via PCON X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=4802b7b6c0babcb14e11e49e63d89d707f773b92;p=thirdparty%2Fkernel%2Flinux.git drm/i915/dp: Require a HDMI sink for YCbCr output via PCON DVI sinks can't deal with YCbCr. Make sure we have a HDMI sink connected after the PCON before doing YCbCr 4:2:0 output. Cc: Nicolas Frattaroli Reviewed-by: Ankit Nautiyal Signed-off-by: Ville Syrjälä Link: https://patch.msgid.link/20260409101539.22032-7-ville.syrjala@linux.intel.com Tested-by: Nicolas Frattaroli --- diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 99672341f43e2..e806828345300 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1349,10 +1349,15 @@ intel_dp_sink_format_valid(struct intel_connector *connector, const struct drm_display_mode *mode, enum intel_output_format sink_format) { + struct intel_dp *intel_dp = intel_attached_dp(connector); const struct drm_display_info *info = &connector->base.display_info; switch (sink_format) { case INTEL_OUTPUT_FORMAT_YCBCR420: + if (intel_dp->dfp.min_tmds_clock && + !intel_dp_has_hdmi_sink(intel_dp)) + return MODE_NO_420; + if (!connector->base.ycbcr_420_allowed || !drm_mode_is_420(info, mode)) return MODE_NO_420;