drm/amd/display: Defer DIG FIFO disable after VID stream enable
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tue, 6 Dec 2022 21:10:22 +0000 (16:10 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 3 Jan 2023 21:57:57 +0000 (16:57 -0500)
[Why]
On some monitors we see a brief flash of corruption during the
monitor disable sequence caused by FIFO being disabled in the middle
of an active DP stream.

[How]
Wait until DP vid stream is disabled before turning off the FIFO.

The FIFO reset on DP unblank should take care of clearing any FIFO
error, if any.

Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Syed Hassan <Syed.Hassan@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/dcn314/dcn314_dio_stream_encoder.c

index 38842f9..0926db0 100644 (file)
@@ -278,10 +278,10 @@ static void enc314_stream_encoder_dp_blank(
        struct dc_link *link,
        struct stream_encoder *enc)
 {
-       /* New to DCN314 - disable the FIFO before VID stream disable. */
-       enc314_disable_fifo(enc);
-
        enc1_stream_encoder_dp_blank(link, enc);
+
+       /* Disable FIFO after the DP vid stream is disabled to avoid corruption. */
+       enc314_disable_fifo(enc);
 }
 
 static void enc314_stream_encoder_dp_unblank(