drm/amd/display: Remove VSC infoframe dep on DMCU
authorRoman Li <roman.li@amd.com>
Fri, 26 Jun 2020 14:27:31 +0000 (10:27 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 8 Jul 2020 13:01:51 +0000 (09:01 -0400)
[Why]
VSC infoframe is needed for PSR. Previously only DMCU controller
supported PSR. Now DMUB also implements PSR.

[How]
Remove VSC infoframe dependency on DMCU.

Signed-off-by: Roman Li <roman.li@amd.com>
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Acked-by: Eryk Brol <eryk.brol@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index f4d983947c17a90248188d5f948a31da259cb052..0e5d99a853075463f6b247fb36e645595bc7350a 100644 (file)
@@ -4556,24 +4556,20 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
 
        if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A)
                mod_build_hf_vsif_infopacket(stream, &stream->vsp_infopacket, false, false);
-       if (stream->link->psr_settings.psr_feature_enabled)     {
-               struct dc  *core_dc = stream->link->ctx->dc;
-
-               if (dc_is_dmcu_initialized(core_dc)) {
-                       //
-                       // should decide stream support vsc sdp colorimetry capability
-                       // before building vsc info packet
-                       //
-                       stream->use_vsc_sdp_for_colorimetry = false;
-                       if (aconnector->dc_sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
-                               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)
-                                       stream->use_vsc_sdp_for_colorimetry = true;
-                       }
-                       mod_build_vsc_infopacket(stream, &stream->vsc_infopacket);
+       if (stream->link->psr_settings.psr_feature_enabled) {
+               //
+               // should decide stream support vsc sdp colorimetry capability
+               // before building vsc info packet
+               //
+               stream->use_vsc_sdp_for_colorimetry = false;
+               if (aconnector->dc_sink->sink_signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
+                       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)
+                               stream->use_vsc_sdp_for_colorimetry = true;
                }
+               mod_build_vsc_infopacket(stream, &stream->vsc_infopacket);
        }
 finish:
        dc_sink_release(sink);