drm/amd/display: Blank stream before destroying HDCP session
authorJaehyun Chung <jaehyun.chung@amd.com>
Thu, 30 Jul 2020 20:31:29 +0000 (16:31 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 10 Aug 2020 21:26:52 +0000 (17:26 -0400)
[Why]
Stream disable sequence incorretly destroys HDCP session while stream is
not blanked and while audio is not muted. This sequence causes a flash
of corruption during mode change and an audio click.

[How]
Change sequence to blank stream before destroying HDCP session. Audio will
also be muted by blanking the stream.

Cc: stable@vger.kernel.org
Signed-off-by: Jaehyun Chung <jaehyun.chung@amd.com>
Reviewed-by: Alvin Lee <Alvin.Lee2@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c

index 4bd6e03..117d8aa 100644 (file)
@@ -3286,12 +3286,11 @@ void core_link_disable_stream(struct pipe_ctx *pipe_ctx)
                core_link_set_avmute(pipe_ctx, true);
        }
 
+       dc->hwss.blank_stream(pipe_ctx);
 #if defined(CONFIG_DRM_AMD_DC_HDCP)
        update_psp_stream_config(pipe_ctx, true);
 #endif
 
-       dc->hwss.blank_stream(pipe_ctx);
-
        if (pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST)
                deallocate_mst_payload(pipe_ctx);