[PATCH 2/3] drm/i915/hdmi: Honor prefer_sink_yuv420 debugfs override for HDMI

Dibin Moolakadan Subrahmanian dibin.moolakadan.subrahmanian at intel.com
Fri Aug 8 07:52:42 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_hdmi.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index cbee628eb26b..3ed6c9adf1a5 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -2268,6 +2268,14 @@ static int intel_hdmi_compute_output_format(struct intel_encoder *encoder,
 		crtc_state->sink_format = INTEL_OUTPUT_FORMAT_RGB;
 	}
 
+	/* Check if prefer_sink_yuv420 is enabled and sink supports it, then override RGB */
+	else if (connector->prefer_sink_yuv420 &&
+		 drm_mode_is_420_also(info, adjusted_mode)) {
+		crtc_state->sink_format = intel_hdmi_sink_format(crtc_state, connector, true);
+		drm_dbg_kms(display->drm, "prefer_sink_yuv420 enabled, selected format %d\n",
+			    crtc_state->sink_format);
+	}
+
 	crtc_state->output_format = intel_hdmi_output_format(crtc_state);
 	ret = intel_hdmi_compute_clock(encoder, crtc_state, respect_downstream_limits);
 	if (ret) {
-- 
2.43.0



More information about the Intel-xe mailing list