]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c
drm/amd/display: Add link encoder dp_ycbcr420_supported feature flag
[linux.git] / drivers / gpu / drm / amd / display / dc / dcn10 / dcn10_link_encoder.c
index 6f675206a136a7406859f5486ef5400893f75b11..477ab922221626dd47026d1874383418d0542cc9 100644 (file)
@@ -589,7 +589,7 @@ static bool dcn10_link_encoder_validate_hdmi_output(
                return false;
 
        /* DCE11 HW does not support 420 */
-       if (!enc10->base.features.ycbcr420_supported &&
+       if (!enc10->base.features.hdmi_ycbcr420_supported &&
                        crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420)
                return false;
 
@@ -606,22 +606,12 @@ bool dcn10_link_encoder_validate_dp_output(
        const struct dcn10_link_encoder *enc10,
        const struct dc_crtc_timing *crtc_timing)
 {
-       /* default RGB only */
-       if (crtc_timing->pixel_encoding == PIXEL_ENCODING_RGB)
-               return true;
-
-       if (enc10->base.features.flags.bits.IS_YCBCR_CAPABLE)
-               return true;
-
-       /* for DCE 8.x or later DP Y-only feature,
-        * we need ASIC cap + FeatureSupportDPYonly, not support 666
-        */
-       if (crtc_timing->flags.Y_ONLY &&
-               enc10->base.features.flags.bits.IS_YCBCR_CAPABLE &&
-               crtc_timing->display_color_depth != COLOR_DEPTH_666)
-               return true;
+       if (crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) {
+               if (!enc10->base.features.dp_ycbcr420_supported)
+                       return false;
+       }
 
-       return false;
+       return true;
 }
 
 void dcn10_link_encoder_construct(