drm/amd/display: Exclude MST from fake sink
authorJerry Zuo <Jerry.Zuo@amd.com>
Fri, 8 Sep 2017 15:52:45 +0000 (11:52 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Sat, 21 Oct 2017 20:41:09 +0000 (16:41 -0400)
Needs effort to take care of the fake sink scenario
in downstream daisy chain device. Exclude MST from
fake sink feature for now.

Signed-off-by: Jerry Zuo <Jerry.Zuo@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index ecca2862407f04c03e86f899320d7e6ebb5d7bb5..dfea04fed695bcd75989ffb579aa439b7d568623 100644 (file)
@@ -2354,8 +2354,16 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
 
        drm_connector = &aconnector->base;
 
-       if (!aconnector->dc_sink)
+       if (!aconnector->dc_sink) {
+               /*
+                * Exclude MST from creating fake_sink
+                * TODO: need to enable MST into fake_sink feature
+                */
+               if (aconnector->mst_port)
+                       goto stream_create_fail;
+
                create_fake_sink(aconnector);
+       }
 
        stream = dc_create_stream_for_sink(aconnector->dc_sink);
 
@@ -4376,7 +4384,8 @@ static int dm_update_crtcs_state(struct dc *dc,
                aconnector = amdgpu_dm_find_first_crtc_matching_connector(state, crtc);
 
                /* TODO This hack should go away */
-               if (aconnector) {
+               if (aconnector && enable) {
+                       // Make sure fake sink is created in plug-in scenario
                        new_con_state = drm_atomic_get_connector_state(state,
                                                                    &aconnector->base);