mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
drm/amd/display: Link training retry fix for abort case
[Why] If link training is aborted, it shall be retried if sink is present. [How] Check hpd status to find out whether sink is present or not. If sink is present, then link training shall be tried again with same settings. Otherwise, link training shall be aborted. Reviewed-by: Jimmy Kizito <Jimmy.Kizito@amd.com> Acked-by: Mikita Lipski <mikita.lipski@amd.com> Signed-off-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
4e00a434a0
commit
71ae30997a
1 changed files with 7 additions and 3 deletions
|
@ -1840,9 +1840,13 @@ bool perform_link_training_with_retries(
|
||||||
dp_disable_link_phy(link, signal);
|
dp_disable_link_phy(link, signal);
|
||||||
|
|
||||||
/* Abort link training if failure due to sink being unplugged. */
|
/* Abort link training if failure due to sink being unplugged. */
|
||||||
if (status == LINK_TRAINING_ABORT)
|
if (status == LINK_TRAINING_ABORT) {
|
||||||
break;
|
enum dc_connection_type type = dc_connection_none;
|
||||||
else if (do_fallback) {
|
|
||||||
|
dc_link_detect_sink(link, &type);
|
||||||
|
if (type == dc_connection_none)
|
||||||
|
break;
|
||||||
|
} else if (do_fallback) {
|
||||||
decide_fallback_link_setting(*link_setting, ¤t_setting, status);
|
decide_fallback_link_setting(*link_setting, ¤t_setting, status);
|
||||||
/* Fail link training if reduced link bandwidth no longer meets
|
/* Fail link training if reduced link bandwidth no longer meets
|
||||||
* stream requirements.
|
* stream requirements.
|
||||||
|
|
Loading…
Reference in a new issue