mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-27 11:58:32 -04:00
drm/amd/display: improve dpia pre-train
[WHY] We see unstable DP LL 4.2.1.3 test result with dpia pre-train. It is because the outbox interrupt mechanism can not handle HPD immediately and require some improvement. [HOW] 1. not enable link if hpd_pending is true. 2. abort pre-train if training failed and hpd_pending is true. 3. check if 2 lane supported when it is alt mode Reviewed-by: Wenjing Liu <wenjing.liu@amd.com> Reviewed-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com> Signed-off-by: Peichen Huang <PeiChen.Huang@amd.com> Signed-off-by: Tom Chung <chiahsuan.chung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
ec6d8d49f4
commit
230dced3e2
@@ -2312,6 +2312,14 @@ bool dp_verify_link_cap_with_retries(
|
||||
} else {
|
||||
link->verified_link_cap = last_verified_link_cap;
|
||||
}
|
||||
|
||||
/* For Dp tunneling link, a pending HPD means that we have a race condition between processing
|
||||
* current link and processing the pending HPD. Since the training is failed, we should just brak
|
||||
* the loop so that we have chance to process the pending HPD.
|
||||
*/
|
||||
if (link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA && link->is_hpd_pending)
|
||||
break;
|
||||
|
||||
fsleep(10 * 1000);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user