]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: OTC underflow fix
authorJaehyun Chung <jaehyun.chung@amd.com>
Mon, 19 Aug 2019 20:45:05 +0000 (16:45 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2019 15:42:44 +0000 (16:42 +0100)
[ Upstream commit 785908cf19c9eb4803f6bf9c0a7447dc3661d5c3 ]

[Why] Underflow occurs on some display setups(repro'd on 3x4K HDR) on boot,
mode set, and hot-plugs with. Underflow occurs because mem clk
is not set high after disabling pstate switching. This behaviour occurs
because some calculations assumed displays were synchronized.

[How] Add a condition to check if timing sync is disabled so that
synchronized vblank can be set to false.

Signed-off-by: Jaehyun Chung <jaehyun.chung@amd.com>
Reviewed-by: Alvin Lee <Alvin.Lee2@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c

index 6b2f2f1a1c9ce96fc683a37e3118478367a68e4b..3980c7b7825992afb054d8c2985c14056c58c505 100644 (file)
@@ -1765,7 +1765,7 @@ int dcn20_populate_dml_pipes_from_context(
                        pipe_cnt = i;
                        continue;
                }
-               if (!resource_are_streams_timing_synchronizable(
+               if (dc->debug.disable_timing_sync || !resource_are_streams_timing_synchronizable(
                                res_ctx->pipe_ctx[pipe_cnt].stream,
                                res_ctx->pipe_ctx[i].stream)) {
                        synchronized_vblank = false;