summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display
diff options
context:
space:
mode:
authorGeorge Shen <George.Shen@amd.com>2021-11-20 04:03:20 +0300
committerAlex Deucher <alexander.deucher@amd.com>2021-12-07 21:08:01 +0300
commitd682619557120a5f2d460b822f5ff922435a5261 (patch)
treeffb3fb426cc142108f2a4a937f517835349dce16 /drivers/gpu/drm/amd/display
parentaed1faab9d9563ca5ac5139b0170486027ec74a7 (diff)
downloadlinux-d682619557120a5f2d460b822f5ff922435a5261.tar.xz
drm/amd/display: Apply LTTPR workarounds to non-transparent mode
[Why] Some of the vendor-specific workarounds added for transparent mode also need to be applied to non-transparent mode in order to succeed link training consistently. [How] Remove transparent mode check for the required workarounds. Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Pavle Kotarac <Pavle.Kotarac@amd.com> Signed-off-by: George Shen <George.Shen@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display')
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index 62510b643882..574a66833387 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -620,10 +620,12 @@ enum dc_status dpcd_set_link_settings(
#endif
if (link->dc->debug.apply_vendor_specific_lttpr_wa &&
(link->chip_caps & EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN) &&
- link->lttpr_mode == LTTPR_MODE_TRANSPARENT) {
+ link->lttpr_mode == LTTPR_MODE_TRANSPARENT)
vendor_specific_lttpr_wa_one_start(link);
+
+ if (link->dc->debug.apply_vendor_specific_lttpr_wa &&
+ (link->chip_caps & EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN))
vendor_specific_lttpr_wa_one_two(link, rate);
- }
status = core_link_write_dpcd(link, DP_LINK_BW_SET, &rate, 1);
}
@@ -1494,8 +1496,7 @@ static enum link_training_result perform_clock_recovery_sequence(
wait_time_microsec = TRAINING_AUX_RD_INTERVAL;
if (link->dc->debug.apply_vendor_specific_lttpr_wa &&
- (link->chip_caps & EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN) &&
- link->lttpr_mode == LTTPR_MODE_TRANSPARENT) {
+ (link->chip_caps & EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN)) {
wait_time_microsec = 16000;
}