]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu/display/dc: do blocked MST topology discovery at resume from S3/S4
authorBing Guo <Bing.Guo@amd.com>
Thu, 20 Jan 2022 23:34:24 +0000 (18:34 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Feb 2022 23:03:35 +0000 (18:03 -0500)
Why:
When resume from sleep or hiberation, blocked MST Topology discovery might
need to be used.

How:
Added "DETECT_REASON_RESUMEFROMS3S4" to enum dc_detect_reason; use it to
require blocked MST Topology discovery.

Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com>
Acked-by: Jasdeep Dhillon <jdhillon@amd.com>
Signed-off-by: Bing Guo <Bing.Guo@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c
drivers/gpu/drm/amd/display/dc/dc_link.h

index cb6c91cd6e8367c9616f0e40a13d99ae84c7682f..ec4b300ec067261f6fc374bd7295e6f5f7e49cce 100644 (file)
@@ -831,7 +831,7 @@ static bool discover_dp_mst_topology(struct dc_link *link, enum dc_detect_reason
        link->type = dc_connection_mst_branch;
        dm_helpers_dp_update_branch_info(link->ctx, link);
        if (dm_helpers_dp_mst_start_top_mgr(link->ctx,
-                       link, reason == DETECT_REASON_BOOT)) {
+                       link, (reason == DETECT_REASON_BOOT || reason == DETECT_REASON_RESUMEFROMS3S4))) {
                link_disconnect_sink(link);
        } else {
                link->type = dc_connection_sst_branch;
index e7ead9e25318ccef73ca7ae10e0c0199bc0f22c0..9ad3ee4079c31a3f60b0529dc1aa01213ebcc80e 100644 (file)
@@ -312,6 +312,7 @@ void dc_link_blank_dp_stream(struct dc_link *link, bool hw_init);
  */
 enum dc_detect_reason {
        DETECT_REASON_BOOT,
+       DETECT_REASON_RESUMEFROMS3S4,
        DETECT_REASON_HPD,
        DETECT_REASON_HPDRX,
        DETECT_REASON_FALLBACK,