drm/i915/dp: Configure PCON for conversion of output_format to YCbCr444
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Thu, 27 Apr 2023 12:56:02 +0000 (18:26 +0530)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 5 May 2023 15:12:02 +0000 (18:12 +0300)
Handle the case with DP to HDMI PCON, where sink_format is set to YCbCr444.
In that case PCON is required to be configured to convert from given
output_format to YCbCR444.

v2: Drop drm_WARN for invalid case, let MISSING_CASE catch it. (Ville)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230427125605.487769-4-ankit.k.nautiyal@intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index 6967ecf..23bfa5e 100644 (file)
@@ -2923,6 +2923,17 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
                        MISSING_CASE(crtc_state->output_format);
                        break;
                }
+       } else if (crtc_state->sink_format == INTEL_OUTPUT_FORMAT_YCBCR444) {
+               switch (crtc_state->output_format) {
+               case INTEL_OUTPUT_FORMAT_YCBCR444:
+                       break;
+               case INTEL_OUTPUT_FORMAT_RGB:
+                       rgb_to_ycbcr = true;
+                       break;
+               default:
+                       MISSING_CASE(crtc_state->output_format);
+                       break;
+               }
        }
 
        tmp = ycbcr444_to_420 ? DP_CONVERSION_TO_YCBCR420_ENABLE : 0;