]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop drm-amd-display-update-blank-state-on-odm-changes.patch
authorSasha Levin <sashal@kernel.org>
Sat, 16 Sep 2023 18:05:14 +0000 (14:05 -0400)
committerSasha Levin <sashal@kernel.org>
Sat, 16 Sep 2023 18:05:14 +0000 (14:05 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-6.5/drm-amd-display-update-blank-state-on-odm-changes.patch [deleted file]
queue-6.5/series

diff --git a/queue-6.5/drm-amd-display-update-blank-state-on-odm-changes.patch b/queue-6.5/drm-amd-display-update-blank-state-on-odm-changes.patch
deleted file mode 100644 (file)
index f1ccf7e..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From 1482650bc7ef01ebb24ec2c3a2e4d50e45da4d8c Mon Sep 17 00:00:00 2001
-From: Wenjing Liu <wenjing.liu@amd.com>
-Date: Mon, 14 Aug 2023 17:11:16 -0400
-Subject: drm/amd/display: update blank state on ODM changes
-
-From: Wenjing Liu <wenjing.liu@amd.com>
-
-commit 1482650bc7ef01ebb24ec2c3a2e4d50e45da4d8c upstream.
-
-When we are dynamically adding new ODM slices, we didn't update
-blank state, if the pipe used by new ODM slice is previously blanked,
-we will continue outputting blank pixel data on that slice causing
-right half of the screen showing blank image.
-
-The previous fix was a temporary hack to directly update current state
-when committing new state. This could potentially cause hw and sw
-state synchronization issues and it is not permitted by dc commit
-design.
-
-Cc: stable@vger.kernel.org
-Fixes: 7fbf451e7639 ("drm/amd/display: Reinit DPG when exiting dynamic ODM")
-Reviewed-by: Dillon Varone <dillon.varone@amd.com>
-Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
-Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c |   36 +++++----------------
- 1 file changed, 9 insertions(+), 27 deletions(-)
-
---- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
-+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
-@@ -1103,29 +1103,6 @@ void dcn20_blank_pixel_data(
-                               0);
-       }
--      if (!blank && dc->debug.enable_single_display_2to1_odm_policy) {
--              /* when exiting dynamic ODM need to reinit DPG state for unused pipes */
--              struct pipe_ctx *old_odm_pipe = dc->current_state->res_ctx.pipe_ctx[pipe_ctx->pipe_idx].next_odm_pipe;
--
--              odm_pipe = pipe_ctx->next_odm_pipe;
--
--              while (old_odm_pipe) {
--                      if (!odm_pipe || old_odm_pipe->pipe_idx != odm_pipe->pipe_idx)
--                              dc->hwss.set_disp_pattern_generator(dc,
--                                              old_odm_pipe,
--                                              CONTROLLER_DP_TEST_PATTERN_VIDEOMODE,
--                                              CONTROLLER_DP_COLOR_SPACE_UDEFINED,
--                                              COLOR_DEPTH_888,
--                                              NULL,
--                                              0,
--                                              0,
--                                              0);
--                      old_odm_pipe = old_odm_pipe->next_odm_pipe;
--                      if (odm_pipe)
--                              odm_pipe = odm_pipe->next_odm_pipe;
--              }
--      }
--
-       if (!blank)
-               if (stream_res->abm) {
-                       dc->hwss.set_pipe(pipe_ctx);
-@@ -1706,11 +1683,16 @@ static void dcn20_program_pipe(
-               struct dc_state *context)
- {
-       struct dce_hwseq *hws = dc->hwseq;
--      /* Only need to unblank on top pipe */
--      if ((pipe_ctx->update_flags.bits.enable || pipe_ctx->stream->update_flags.bits.abm_level)
--                      && !pipe_ctx->top_pipe && !pipe_ctx->prev_odm_pipe)
--              hws->funcs.blank_pixel_data(dc, pipe_ctx, !pipe_ctx->plane_state->visible);
-+      /* Only need to unblank on top pipe */
-+      if (resource_is_pipe_type(pipe_ctx, OTG_MASTER)) {
-+              if (pipe_ctx->update_flags.bits.enable ||
-+                              pipe_ctx->update_flags.bits.odm ||
-+                              pipe_ctx->stream->update_flags.bits.abm_level)
-+                      hws->funcs.blank_pixel_data(dc, pipe_ctx,
-+                                      !pipe_ctx->plane_state ||
-+                                      !pipe_ctx->plane_state->visible);
-+      }
-       /* Only update TG on top pipe */
-       if (pipe_ctx->update_flags.bits.global_sync && !pipe_ctx->top_pipe
index faf257e4d47703268fd8e978bab3552e4bfd9901..75863e4c0b72f1e9486477e1ce08ef10c25872b3 100644 (file)
@@ -239,4 +239,3 @@ drm-amd-display-always-switch-off-odm-before-committing-more-streams.patch
 drm-amd-display-remove-wait-while-locked.patch
 drm-amdkfd-add-missing-gfx11-mqd-manager-callbacks.patch
 drm-amdgpu-register-a-dirty-framebuffer-callback-for-fbcon.patch
-drm-amd-display-update-blank-state-on-odm-changes.patch