Commit a74d0224 authored by Praful Swarnakar's avatar Praful Swarnakar Committed by Alex Deucher

drm/amd/display: Fix Display Flicker on embedded panels

[Why]
ASSR is dependent on Signed PSP Verstage to enable Content
Protection for eDP panels. Unsigned PSP verstage is used
during development phase causing ASSR to FAIL.
As a result, link training is performed with
DP_PANEL_MODE_DEFAULT instead of DP_PANEL_MODE_EDP for
eDP panels that causes display flicker on some panels.

[How]
- Do not change panel mode, if ASSR is disabled
- Just report and continue to perform eDP link training
with right settings further.
Signed-off-by: default avatarPraful Swarnakar <Praful.Swarnakar@amd.com>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 71cf9e72
...@@ -2419,14 +2419,13 @@ bool perform_link_training_with_retries( ...@@ -2419,14 +2419,13 @@ bool perform_link_training_with_retries(
if (panel_mode == DP_PANEL_MODE_EDP) { if (panel_mode == DP_PANEL_MODE_EDP) {
struct cp_psp *cp_psp = &stream->ctx->cp_psp; struct cp_psp *cp_psp = &stream->ctx->cp_psp;
if (cp_psp && cp_psp->funcs.enable_assr) { if (cp_psp && cp_psp->funcs.enable_assr)
if (!cp_psp->funcs.enable_assr(cp_psp->handle, link)) { /* ASSR is bound to fail with unsigned PSP
/* since eDP implies ASSR on, change panel * verstage used during devlopment phase.
* mode to disable ASSR * Report and continue with eDP panel mode to
*/ * perform eDP link training with right settings
panel_mode = DP_PANEL_MODE_DEFAULT; */
} cp_psp->funcs.enable_assr(cp_psp->handle, link);
}
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment