[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