aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWayne Lin <Wayne.Lin@amd.com>2022-06-22 19:36:49 +0800
committerAlex Deucher <alexander.deucher@amd.com>2022-07-12 16:50:29 -0400
commit922e7ee31defe461d8638f1277f0c8215c0707e6 (patch)
treeef9ff27e5e86d9564b2c9a81b70f9367dbb8b979
parentdrm/amd/display: Fix windowed MPO video with ODM combine for DCN32 (diff)
downloadlinux-dev-922e7ee31defe461d8638f1277f0c8215c0707e6.tar.xz
linux-dev-922e7ee31defe461d8638f1277f0c8215c0707e6.zip
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 <hersen.wu@amd.com> Acked-by: Solomon Chiu <solomon.chiu@amd.com> Signed-off-by: Wayne Lin <Wayne.Lin@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c2
1 files changed, 2 insertions, 0 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 f3ce37664143..03ca9083f5e9 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;