diff options
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c index 8c1d084429dc..ace9ad578ca0 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | |||
@@ -226,10 +226,6 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector) | |||
226 | 226 | ||
227 | if (!aconnector->edid) { | 227 | if (!aconnector->edid) { |
228 | struct edid *edid; | 228 | struct edid *edid; |
229 | struct dc_sink *dc_sink; | ||
230 | struct dc_sink_init_data init_params = { | ||
231 | .link = aconnector->dc_link, | ||
232 | .sink_signal = SIGNAL_TYPE_DISPLAY_PORT_MST }; | ||
233 | edid = drm_dp_mst_get_edid(connector, &aconnector->mst_port->mst_mgr, aconnector->port); | 229 | edid = drm_dp_mst_get_edid(connector, &aconnector->mst_port->mst_mgr, aconnector->port); |
234 | 230 | ||
235 | if (!edid) { | 231 | if (!edid) { |
@@ -240,11 +236,17 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector) | |||
240 | } | 236 | } |
241 | 237 | ||
242 | aconnector->edid = edid; | 238 | aconnector->edid = edid; |
239 | } | ||
243 | 240 | ||
241 | if (!aconnector->dc_sink) { | ||
242 | struct dc_sink *dc_sink; | ||
243 | struct dc_sink_init_data init_params = { | ||
244 | .link = aconnector->dc_link, | ||
245 | .sink_signal = SIGNAL_TYPE_DISPLAY_PORT_MST }; | ||
244 | dc_sink = dc_link_add_remote_sink( | 246 | dc_sink = dc_link_add_remote_sink( |
245 | aconnector->dc_link, | 247 | aconnector->dc_link, |
246 | (uint8_t *)edid, | 248 | (uint8_t *)aconnector->edid, |
247 | (edid->extensions + 1) * EDID_LENGTH, | 249 | (aconnector->edid->extensions + 1) * EDID_LENGTH, |
248 | &init_params); | 250 | &init_params); |
249 | 251 | ||
250 | dc_sink->priv = aconnector; | 252 | dc_sink->priv = aconnector; |
@@ -252,7 +254,7 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector) | |||
252 | 254 | ||
253 | if (aconnector->dc_sink) | 255 | if (aconnector->dc_sink) |
254 | amdgpu_dm_add_sink_to_freesync_module( | 256 | amdgpu_dm_add_sink_to_freesync_module( |
255 | connector, edid); | 257 | connector, aconnector->edid); |
256 | } | 258 | } |
257 | 259 | ||
258 | drm_mode_connector_update_edid_property( | 260 | drm_mode_connector_update_edid_property( |