From 56d63782af9bbd1271bff1422a6a013123eade4d Mon Sep 17 00:00:00 2001
From: Anthony Wang <anthony1.wang@amd.com>
Date: Wed, 31 Mar 2021 11:03:35 -0400
Subject: [PATCH] drm/amd/display: Force vsync flip when reconfiguring MPCC
Git-commit: 56d63782af9bbd1271bff1422a6a013123eade4d
Patch-mainline: v5.13-rc1
References: git-fixes
[Why]
Underflow observed when disabling PIP overlay in-game when
vsync is disabled, due to OTC master lock not working with
game pipe which is immediate flip.
[How]
When performing a full update, override flip_immediate value
to false for all planes, so that flip occurs on vsync.
Signed-off-by: Anthony Wang <anthony1.wang@amd.com>
Acked-by: Bindu Ramamurthy <bindur12@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
---
drivers/gpu/drm/amd/display/dc/core/dc.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -2417,6 +2417,10 @@ static void commit_planes_for_stream(str
plane_state->triplebuffer_flips = true;
}
}
+ if (update_type == UPDATE_TYPE_FULL) {
+ /* force vsync flip when reconfiguring pipes to prevent underflow */
+ plane_state->flip_immediate = false;
+ }
}
}