summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhan Liu <zhan.liu@amd.com>2019-10-25 15:44:03 -0400
committerZhan Liu <zhan.liu@amd.com>2019-10-25 15:44:03 -0400
commit52f70af32a6cef1ec5735145486d9154ab1248ac (patch)
tree3108fc14cd869740d63de84286742bd15c9bd9bf
parentd3ed9cf4e0f948ac680c77a409bbc6ae95cdc42e (diff)
drm/amd/display: setting the DIG_MODE to the correct value.
[Why] This patch is for fixing Navi14 HDMI display pink screen issue. [How] Call stream->link->link_enc->funcs->setup twice. This is setting the DIG_MODE to the correct value after having been overridden by the call to transmitter control. Signed-off-by: Zhan Liu <zhan.liu@amd.com> Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
index ca97aac1889d..e7341a677ea3 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -2840,6 +2840,15 @@ void core_link_enable_stream(
CONTROLLER_DP_TEST_PATTERN_VIDEOMODE,
COLOR_DEPTH_UNDEFINED);
+ /* This second call is needed to reconfigure the DIG
+ * as a workaround for the incorrect value being applied
+ * from transmitter control.
+ */
+ if (!dc_is_virtual_signal(pipe_ctx->stream->signal))
+ stream->link->link_enc->funcs->setup(
+ stream->link->link_enc,
+ pipe_ctx->stream->signal);
+
#ifdef CONFIG_DRM_AMD_DC_DSC_SUPPORT
if (pipe_ctx->stream->timing.flags.DSC) {
if (dc_is_dp_signal(pipe_ctx->stream->signal) ||