]> Git Repo - linux.git/commitdiff
drm/amd/display: Add explicit FIFO disable for DP blank
authorNicholas Kazlauskas <[email protected]>
Thu, 8 Sep 2022 15:11:47 +0000 (11:11 -0400)
committerAlex Deucher <[email protected]>
Tue, 27 Sep 2022 21:56:51 +0000 (17:56 -0400)
[Why]
We rely on DMCUB to do this when disabling the link but it should
actually come before we disable the DP VID stream.

If we don't then the FIFO can end up with underflow that persists
the next time it's enabled.

[How]
Add a DCN314 specific blank sequence that will disable the DIG FIFO
first.

Reviewed-by: Syed Hassan <[email protected]>
Acked-by: Jasdeep Dhillon <[email protected]>
Signed-off-by: Nicholas Kazlauskas <[email protected]>
Tested-by: Daniel Wheeler <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
drivers/gpu/drm/amd/display/dc/dcn314/dcn314_dio_stream_encoder.c

index 52b71b2fef6778b14b461c99aeee56953f164a83..8c0ab013764e3cf06b85f9ff5e938fd769a2a743 100644 (file)
@@ -262,6 +262,16 @@ static bool is_two_pixels_per_containter(const struct dc_crtc_timing *timing)
        return two_pix;
 }
 
+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);
+}
+
 static void enc314_stream_encoder_dp_unblank(
                struct dc_link *link,
                struct stream_encoder *enc,
@@ -411,7 +421,7 @@ static const struct stream_encoder_funcs dcn314_str_enc_funcs = {
        .stop_dp_info_packets =
                enc1_stream_encoder_stop_dp_info_packets,
        .dp_blank =
-               enc1_stream_encoder_dp_blank,
+               enc314_stream_encoder_dp_blank,
        .dp_unblank =
                enc314_stream_encoder_dp_unblank,
        .audio_mute_control = enc3_audio_mute_control,
This page took 0.061674 seconds and 4 git commands to generate.