Merge tag 'drm-misc-next-fixes-2021-09-09' of git://anongit.freedesktop.org/drm/drm...
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / display / amdgpu_dm / amdgpu_dm_mst_types.c
index 5568d4e..1bcba69 100644 (file)
@@ -213,6 +213,29 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector)
                        drm_connector_update_edid_property(
                                &aconnector->base,
                                NULL);
+
+                       DRM_DEBUG_KMS("Can't get EDID of %s. Add default remote sink.", connector->name);
+                       if (!aconnector->dc_sink) {
+                               struct dc_sink *dc_sink;
+                               struct dc_sink_init_data init_params = {
+                                       .link = aconnector->dc_link,
+                                       .sink_signal = SIGNAL_TYPE_DISPLAY_PORT_MST };
+
+                               dc_sink = dc_link_add_remote_sink(
+                                       aconnector->dc_link,
+                                       NULL,
+                                       0,
+                                       &init_params);
+
+                               if (!dc_sink) {
+                                       DRM_ERROR("Unable to add a remote sink\n");
+                                       return 0;
+                               }
+
+                               dc_sink->priv = aconnector;
+                               aconnector->dc_sink = dc_sink;
+                       }
+
                        return ret;
                }