drm/amd/display: fix dp kvm can't light up
authorTianci.Yin <tianci.yin@amd.com>
Tue, 8 Mar 2022 05:45:45 +0000 (13:45 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Mar 2022 18:25:16 +0000 (14:25 -0400)
[why]
The DP KVM failed to light up, since the lttpr_mode is not reset to
default value when failed to read LTTPR capabilities, and the
variable max_link_rate retains a initial value zero, this cause variable
link_rate be assigned to an error value zero, consquently pixel_clock
get wrong value zero, and kvm can't light up.

[how]
Reset lttpr_mode to default value when failed to read LTTPR
capabilities, so that the link_rate fallbacks to the minimum rate that
supported by link encoder and sink.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Tianci.Yin <tianci.yin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c

index 7d88165..c35d55f 100644 (file)
@@ -5110,6 +5110,7 @@ bool dp_retrieve_lttpr_cap(struct dc_link *link)
                                sizeof(lttpr_dpcd_data));
                if (status != DC_OK) {
                        DC_LOG_DP2("%s: Read LTTPR caps data failed.\n", __func__);
+                       link->lttpr_mode = LTTPR_MODE_NON_LTTPR;
                        return false;
                }