]> git.itanic.dy.fi Git - linux-stable/blobdiff - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drm/amd/display: Program VSC SDP colorimetry for all DP sinks >= 1.4
[linux-stable] / drivers / gpu / drm / amd / display / amdgpu_dm / amdgpu_dm.c
index 1eb0f82e9dfae3e64fe69c43ae42cd5dca2b6503..57c9598a0ffe153db237457e59c079011344a9c6 100644 (file)
@@ -6257,7 +6257,9 @@ create_stream_for_sink(struct drm_connector *connector,
        if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A)
                mod_build_hf_vsif_infopacket(stream, &stream->vsp_infopacket);
 
-       if (stream->link->psr_settings.psr_feature_enabled || stream->link->replay_settings.replay_feature_enabled) {
+       if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT ||
+           stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST ||
+           stream->signal == SIGNAL_TYPE_EDP) {
                //
                // should decide stream support vsc sdp colorimetry capability
                // before building vsc info packet
@@ -6267,7 +6269,8 @@ create_stream_for_sink(struct drm_connector *connector,
                        stream->use_vsc_sdp_for_colorimetry =
                                aconnector->dc_sink->is_vsc_sdp_colorimetry_supported;
                } else {
-                       if (stream->link->dpcd_caps.dprx_feature.bits.VSC_SDP_COLORIMETRY_SUPPORTED)
+                       if (stream->link->dpcd_caps.dpcd_rev.raw >= 0x14 &&
+                           stream->link->dpcd_caps.dprx_feature.bits.VSC_SDP_COLORIMETRY_SUPPORTED)
                                stream->use_vsc_sdp_for_colorimetry = true;
                }
                if (stream->out_transfer_func->tf == TRANSFER_FUNCTION_GAMMA22)