Commit 3170a21f authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Only enable DFP 4:4:4->4:2:0 conversion when outputting YCbCr 4:4:4

Let's not enable the 4:4:4->4:2:0 conversion bit in the DFP unless we're
actually outputting YCbCr 4:4:4. It would appear some protocol
converters blindy consult this bit even when the source is outputting
RGB, resulting in a visual mess.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2914Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210111164111.13302-1-ville.syrjala@linux.intel.com
Fixes: 181567aa ("drm/i915: Do YCbCr 444->420 conversion via DP protocol converters")
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 31b10c1a
...@@ -3508,8 +3508,8 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp, ...@@ -3508,8 +3508,8 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
drm_dbg_kms(&i915->drm, "Failed to set protocol converter HDMI mode to %s\n", drm_dbg_kms(&i915->drm, "Failed to set protocol converter HDMI mode to %s\n",
enableddisabled(intel_dp->has_hdmi_sink)); enableddisabled(intel_dp->has_hdmi_sink));
tmp = intel_dp->dfp.ycbcr_444_to_420 ? tmp = crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444 &&
DP_CONVERSION_TO_YCBCR420_ENABLE : 0; intel_dp->dfp.ycbcr_444_to_420 ? DP_CONVERSION_TO_YCBCR420_ENABLE : 0;
if (drm_dp_dpcd_writeb(&intel_dp->aux, if (drm_dp_dpcd_writeb(&intel_dp->aux,
DP_PROTOCOL_CONVERTER_CONTROL_1, tmp) != 1) DP_PROTOCOL_CONVERTER_CONTROL_1, tmp) != 1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment