From: Wayne Lin Date: Wed, 22 Jun 2022 11:36:49 +0000 (+0800) Subject: drm/amd/display: Clear edid when unplug mst connector X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=922e7ee31defe461d8638f1277f0c8215c0707e6;p=linux.git drm/amd/display: Clear edid when unplug mst connector [Why] When unplug one sst monitor from a mst hub and plug in the same port with another sst monitor, we don't read the corresponding edid. That's because we detect there is already an edid stored in aconnector->edid which is a stale one. [How] Clean up aconnector->edid when unplug mst connector. Reviewed-by: Hersen Wu Acked-by: Solomon Chiu Signed-off-by: Wayne Lin Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- 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 f3ce37664143f..03ca9083f5e94 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 @@ -160,6 +160,7 @@ amdgpu_dm_mst_connector_early_unregister(struct drm_connector *connector) dc_sink_release(dc_sink); aconnector->dc_sink = NULL; + aconnector->edid = NULL; } drm_modeset_unlock(&root->mst_mgr.base.lock); } @@ -411,6 +412,7 @@ dm_dp_mst_detect(struct drm_connector *connector, dc_sink_release(aconnector->dc_sink); aconnector->dc_sink = NULL; + aconnector->edid = NULL; } return connection_status;