diff options
| author | Wayne Lin <[email protected]> | 2022-04-12 21:18:00 +0800 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2022-06-21 18:17:23 -0400 |
| commit | 84a8b3908285d007db49532fd4b51d4b183d1242 (patch) | |
| tree | f9d98a19d890e81746d436c41f0c4564ebf80904 /tools/perf/scripts/python/bin | |
| parent | 052eaf6af846e59073a842e9b9517ba9d3f76d4a (diff) | |
drm/amd/display: Release remote dc_sink under mst scenario
[Why]
Observe that we have several problems while releasing remote dc_sink
under mst cases.
- When unplug mst branch device from the source, we now try to free all
remote dc_sinks in dm_helpers_dp_mst_stop_top_mgr(). However, there are
bugs while we're releasing dc_sinks here. First of all,
link->remote_sinks[] array get shuffled within
dc_link_remove_remote_sink(). As the result, increasing the array index
within the releasing loop is wrong. Secondly, it tries to call
dc_sink_release() to release the dc_sink of the same aconnector every
time in the loop. Which can't release dc_sink of all aconnector in the
mst topology.
- There is no code path for us to release remote dc_sink for disconnected
sst monitor which unplug event is notified by CSN sideband message. Which
means we'll use stale dc_sink data to represent later on connected
monitor. Also, has chance to break the maximum remote dc_sink number
constraint.
[How]
Distinguish unplug event of mst scenario into 2 cases.
* Unplug sst/legacy stream sink off the mst topology
- Release related remote dc_sink in detec_ctx().
* Unplug mst branch device off the mst topology
- Release related remote dc_sink in early_unregister()
Tested-by: Daniel Wheeler <[email protected]>
Reviewed-by: Aurabindo Jayamohanan Pillai <[email protected]>
Acked-by: Rodrigo Siqueira <[email protected]>
Acked-by: Lyude Paul <[email protected]>
Signed-off-by: Wayne Lin <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions