mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-30 18:10:59 -04:00
drm/amd/display: Fixed Clock Recovery Sequence
[Why] When performing clock recovery, if a pre-emphasis adjustment is requested, but voltage swing remains constant, the the retry counter will not be reset. This can lead to prematurely failing link training. [How] Reset the clock recovery retry counter if an adjustment is requested for either voltage swing or pre-emphasis. Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Calvin Hou <Calvin.Hou@amd.com> Signed-off-by: David Galiffi <David.Galiffi@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Solomon Chiu <solomon.chiu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
4aa8607e25
commit
3d223c5528
@@ -1098,11 +1098,13 @@ static enum link_training_result perform_clock_recovery_sequence(
|
||||
if (is_max_vs_reached(lt_settings))
|
||||
break;
|
||||
|
||||
/* 7. same voltage*/
|
||||
/* Note: VS same for all lanes,
|
||||
* so comparing first lane is sufficient*/
|
||||
if (lt_settings->lane_settings[0].VOLTAGE_SWING ==
|
||||
/* 7. same lane settings*/
|
||||
/* Note: settings are the same for all lanes,
|
||||
* so comparing first lane is sufficient*/
|
||||
if ((lt_settings->lane_settings[0].VOLTAGE_SWING ==
|
||||
req_settings.lane_settings[0].VOLTAGE_SWING)
|
||||
&& (lt_settings->lane_settings[0].PRE_EMPHASIS ==
|
||||
req_settings.lane_settings[0].PRE_EMPHASIS))
|
||||
retries_cr++;
|
||||
else
|
||||
retries_cr = 0;
|
||||
|
||||
Reference in New Issue
Block a user