aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2907-drm-amd-display-Program-cursor-regs-after-context-sw.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2907-drm-amd-display-Program-cursor-regs-after-context-sw.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2907-drm-amd-display-Program-cursor-regs-after-context-sw.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2907-drm-amd-display-Program-cursor-regs-after-context-sw.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2907-drm-amd-display-Program-cursor-regs-after-context-sw.patch
new file mode 100644
index 00000000..dad09c50
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2907-drm-amd-display-Program-cursor-regs-after-context-sw.patch
@@ -0,0 +1,51 @@
+From 586058f2549db835ed5ff5b31f7bc907331fdc97 Mon Sep 17 00:00:00 2001
+From: Yongqiang Sun <yongqiang.sun@amd.com>
+Date: Tue, 21 Nov 2017 15:42:17 -0500
+Subject: [PATCH 2907/4131] drm/amd/display: Program cursor regs after context
+ swapped.
+
+Cursor is abnormal after pipe_ctx is changed in context.
+Cause: cursor attributes is programmed right after front end
+programming, but it use old pipe_ctx to program which is not
+updated yet.
+Solution:
+Program cursor regs after context swapped.
+
+Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+index e29111e..e9ecbcb 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+@@ -1992,22 +1992,9 @@ static void dcn10_apply_ctx_for_surface(
+ }
+ }
+
+- if (num_planes > 0) {
++ if (num_planes > 0)
+ program_all_pipe_in_tree(dc, top_pipe_to_program, context);
+
+- /* TODO: this is a hack w/a for switching from mpo to pipe split */
+- if (stream->cursor_attributes.address.quad_part != 0) {
+- struct dc_cursor_position position = { 0 };
+-
+- dc_stream_set_cursor_position(
+- (struct dc_stream_state *)stream,
+- &position);
+- dc_stream_set_cursor_attributes(
+- (struct dc_stream_state *)stream,
+- &stream->cursor_attributes);
+- }
+- }
+-
+ tg->funcs->unlock(tg);
+
+ if (num_planes == 0)
+--
+2.7.4
+