| From 8b2f129cd10085ca03f4e10dced219dd8e94aff5 Mon Sep 17 00:00:00 2001 |
| From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> |
| Date: Thu, 7 Mar 2019 13:26:13 -0500 |
| Subject: drm/amd/display: fix releasing planes when exiting odm |
| |
| [ Upstream commit bc2193992b00488f5734613ac95b78ef2d2803ab ] |
| |
| Releasing planes should not release the 2nd odm pipe right away, |
| this change leaves us with 2 pipes with null planes and same stream |
| when planes are released during odm. |
| |
| Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> |
| Reviewed-by: Tony Cheng <Tony.Cheng@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/core/dc_resource.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c |
| index 349ab80177761..4c06eb52ab734 100644 |
| --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c |
| +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c |
| @@ -1266,10 +1266,12 @@ bool dc_remove_plane_from_context( |
| * For head pipe detach surfaces from pipe for tail |
| * pipe just zero it out |
| */ |
| - if (!pipe_ctx->top_pipe) { |
| + if (!pipe_ctx->top_pipe || |
| + (!pipe_ctx->top_pipe->top_pipe && |
| + pipe_ctx->top_pipe->stream_res.opp != pipe_ctx->stream_res.opp)) { |
| pipe_ctx->plane_state = NULL; |
| pipe_ctx->bottom_pipe = NULL; |
| - } else { |
| + } else { |
| memset(pipe_ctx, 0, sizeof(*pipe_ctx)); |
| } |
| } |
| -- |
| 2.20.1 |
| |