[PATCH 3/3] drm/i915/dp: Honor prefer_sink_yuv420 debugfs override for DP

Dibin Moolakadan Subrahmanian dibin.moolakadan.subrahmanian at intel.com
Fri Aug 8 07:52:43 UTC 2025


If the `prefer_sink_yuv420` flag is set via debugfs and the sink supports
YCbCr 4:2:0 output for the current mode, prefer YCbCr 4:2:0 over
the default RGB when computing the sink format.

This enables explicit testing and validation of 4:2:0 output handling
via the debugfs interface, particularly useful in IGT tests targeting
scaling and color.

Signed-off-by: Dibin Moolakadan Subrahmanian <dibin.moolakadan.subrahmanian at intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 625036c47bdf..8b593a6a0c7c 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -3055,6 +3055,15 @@ intel_dp_compute_output_format(struct intel_encoder *encoder,
 		crtc_state->sink_format = intel_dp_sink_format(connector, adjusted_mode);
 	}
 
+	/* Check if prefer_sink_yuv420 is enabled and sink supports it, then override RGB */
+	if (connector->prefer_sink_yuv420 &&
+	    drm_mode_is_420_also(info, adjusted_mode) &&
+	    connector->base.ycbcr_420_allowed) {
+		crtc_state->sink_format = INTEL_OUTPUT_FORMAT_YCBCR420;
+		drm_dbg_kms(display->drm, "prefer_sink_yuv420 enabled, selected format %d\n",
+			    crtc_state->sink_format);
+	}
+
 	crtc_state->output_format = intel_dp_output_format(connector, crtc_state->sink_format);
 
 	ret = intel_dp_compute_link_config(encoder, crtc_state, conn_state,
-- 
2.43.0



More information about the Intel-xe mailing list