FAILED: patch "[PATCH] drm/amd/display: force toggle rate wa for first link training" failed to apply to 6.6-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x 5a9a2cc8ae1889c4002850b00fd4fd9691dfac4e
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024012753-radiation-single-4e58@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Possible dependencies:
5a9a2cc8ae18 ("drm/amd/display: force toggle rate wa for first link training for a retimer")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 5a9a2cc8ae1889c4002850b00fd4fd9691dfac4e Mon Sep 17 00:00:00 2001
From: Zhongwei <[email protected]>
Date: Wed, 8 Nov 2023 16:34:36 +0800
Subject: [PATCH] drm/amd/display: force toggle rate wa for first link training
for a retimer
[WHY]
Handover from DMUB to driver does not perform link rate toggle. It might cause link training failure for boot up.
[HOW]
Force toggle rate wa for first link train. link->vendor_specific_lttpr_link_rate_wa should be zero then.
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training_fixed_vs_pe_retimer.c +3 -3
@@ -115,7 +115,7 @@ static enum link_training_result perform_fixed_vs_pe_nontransparent_training_seq lt_settings->cr_pattern_time =16000 ;/* Fixed VS/PE specific: Toggle link rate */ - apply_toggle_rate_wa = (link->vendor_specific_lttpr_link_rate_wa == target_rate); + apply_toggle_rate_wa = ((link->vendor_specific_lttpr_link_rate_wa == target_rate) || (link->vendor_specific_lttpr_link_rate_wa ==0 )); target_rate =get_dpcd_link_rate (<_settings->link_settings); toggle_rate = (target_rate ==0x6 ) ?0xA :0x6 ;
@@ -271,7 +271,7 @@ enum link_training_result dp_perform_fixed_vs_pe_training_sequence_legacy(/* Vendor specific: Toggle link rate */ toggle_rate = (rate ==0x6 ) ?0xA :0x6 ; -if (link->vendor_specific_lttpr_link_rate_wa == rate) { +if (link->vendor_specific_lttpr_link_rate_wa == rate || link->vendor_specific_lttpr_link_rate_wa ==0 ) { core_link_write_dpcd( link, DP_LINK_BW_SET,
@@ -617,7 +617,7 @@ enum link_training_result dp_perform_fixed_vs_pe_training_sequence(/* Vendor specific: Toggle link rate */ toggle_rate = (rate ==0x6 ) ?0xA :0x6 ; -if (link->vendor_specific_lttpr_link_rate_wa == rate) { +if (link->vendor_specific_lttpr_link_rate_wa == rate || link->vendor_specific_lttpr_link_rate_wa ==0 ) { core_link_write_dpcd( link, DP_LINK_BW_SET,