]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: Add support for disconnected eDP streams
authorHarry VanZyllDeJong <hvanzyll@amd.com>
Fri, 7 Feb 2025 18:46:53 +0000 (13:46 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 19 Feb 2025 20:14:29 +0000 (15:14 -0500)
[Why]
eDP may not be connected to the GPU on driver start causing
fail enumeration.

[How]
Move the virtual signal type check before the eDP connector
signal check.

Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Signed-off-by: Harry VanZyllDeJong <hvanzyll@amd.com>
Signed-off-by: Roman Li <roman.li@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/link/protocols/link_dp_capability.c

index 80439224acca09d8ba5ac2b6939540b338a7598e..e3e7fcb07f196924a081df1619186837fdf306ce 100644 (file)
@@ -945,6 +945,9 @@ bool link_decide_link_settings(struct dc_stream_state *stream,
                 * TODO: add MST specific link training routine
                 */
                decide_mst_link_settings(link, link_setting);
+       } else if (stream->signal == SIGNAL_TYPE_VIRTUAL) {
+               link_setting->lane_count = LANE_COUNT_FOUR;
+               link_setting->link_rate = LINK_RATE_HIGH3;
        } else if (link->connector_signal == SIGNAL_TYPE_EDP) {
                /* enable edp link optimization for DSC eDP case */
                if (stream->timing.flags.DSC) {
@@ -967,9 +970,6 @@ bool link_decide_link_settings(struct dc_stream_state *stream,
                } else {
                        edp_decide_link_settings(link, link_setting, req_bw);
                }
-       } else if (stream->signal == SIGNAL_TYPE_VIRTUAL) {
-               link_setting->lane_count = LANE_COUNT_FOUR;
-               link_setting->link_rate = LINK_RATE_HIGH3;
        } else {
                decide_dp_link_settings(link, link_setting, req_bw);
        }