drm/amd/display: Don't lock phantom pipe on disabling
authorAlvin Lee <alvin.lee2@amd.com>
Wed, 23 Aug 2023 14:18:36 +0000 (10:18 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:39 +0000 (17:19 +0000)
[ Upstream commit cbb4c9bc55427774ca4d819933e1b5fa38a6fb44 ]

[Description]
- When disabling a phantom pipe, we first enable the phantom
  OTG so the double buffer update can successfully take place
- However, want to avoid locking the phantom otherwise setting
  DPG_EN=1 for the phantom pipe is blocked (without this we could
  hit underflow due to phantom HUBP being blanked by default)

Reviewed-by: Samson Tam <samson.tam@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Alvin Lee <alvin.lee2@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@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/dcn10/dcn10_hw_sequencer.c

index 9834b75..79befa1 100644 (file)
@@ -111,7 +111,8 @@ void dcn10_lock_all_pipes(struct dc *dc,
                if (pipe_ctx->top_pipe ||
                    !pipe_ctx->stream ||
                    (!pipe_ctx->plane_state && !old_pipe_ctx->plane_state) ||
-                   !tg->funcs->is_tg_enabled(tg))
+                   !tg->funcs->is_tg_enabled(tg) ||
+                       pipe_ctx->stream->mall_stream_config.type == SUBVP_PHANTOM)
                        continue;
 
                if (lock)