]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: Program DIG FE source select for DVI before PHY en
authorAlvin Lee <alvin.lee2@amd.com>
Mon, 20 May 2024 16:52:31 +0000 (12:52 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jun 2024 19:34:31 +0000 (15:34 -0400)
[Description]
In newer DCN's the programming of SYMCLK_FE_SRC_SEL depends on
the value of DIG_FE_SOURCE_SELECT. If DIG_FE_SOURCE_SELECT is not
already programmed at the time of PHY / DIG enable then the FW
sequence will program an incorrect SYMCLK source. Ensure that we
program DIG_FE_SOURCE_SELECT for all DIO scenarios (DVI in this
particular case) before going through the PHY / DIG enable sequence.

Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Acked-by: Zaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: Alvin Lee <alvin.lee2@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/link/link_dpms.c

index a9ddbe12142f881535296ce51bf3622a0ab7ea0b..65607589495f44e75b8d8dbd14f3a12b432ecfb8 100644 (file)
@@ -1976,7 +1976,7 @@ static void enable_link_hdmi(struct pipe_ctx *pipe_ctx)
        /* We need to enable stream encoder for TMDS first to apply 1/4 TMDS
         * character clock in case that beyond 340MHz.
         */
-       if (dc_is_hdmi_tmds_signal(pipe_ctx->stream->signal))
+       if (dc_is_hdmi_tmds_signal(pipe_ctx->stream->signal) || dc_is_dvi_signal(pipe_ctx->stream->signal))
                link_hwss->setup_stream_encoder(pipe_ctx);
 
        dc->hwss.enable_tmds_link_output(