Home Home > GIT Browse > stable
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2019-01-18 07:53:27 +0100
committerJiri Slaby <jslaby@suse.cz>2019-01-18 07:53:39 +0100
commit2f150749e1df56893bfbbd0a29d53172914cd778 (patch)
tree387f309886c2ffbca39aeb3b65ad449614533bf0
parentcab31cf186c850d95956f413e2e49430f5ba0c32 (diff)
drm/amd/display: Fix MST dp_blank REG_WAIT timeout
-rw-r--r--patches.kernel.org/4.20.3-041-drm-amd-display-Fix-MST-dp_blank-REG_WAIT-time.patch77
-rw-r--r--series.conf1
2 files changed, 78 insertions, 0 deletions
diff --git a/patches.kernel.org/4.20.3-041-drm-amd-display-Fix-MST-dp_blank-REG_WAIT-time.patch b/patches.kernel.org/4.20.3-041-drm-amd-display-Fix-MST-dp_blank-REG_WAIT-time.patch
new file mode 100644
index 0000000000..2c6bd55f29
--- /dev/null
+++ b/patches.kernel.org/4.20.3-041-drm-amd-display-Fix-MST-dp_blank-REG_WAIT-time.patch
@@ -0,0 +1,77 @@
+From: "Jerry (Fangzhi) Zuo" <Jerry.Zuo@amd.com>
+Date: Mon, 17 Dec 2018 10:32:22 -0500
+Subject: [PATCH] drm/amd/display: Fix MST dp_blank REG_WAIT timeout
+References: bnc#1012628
+Patch-mainline: 4.20.3
+Git-commit: 8c9d90eebd23b6d40ddf4ce5df5ca2b932336a06
+
+commit 8c9d90eebd23b6d40ddf4ce5df5ca2b932336a06 upstream.
+
+Need to blank stream before deallocate MST payload.
+
+[drm:generic_reg_wait [amdgpu]] *ERROR* REG_WAIT timeout 10us * 3000 tries - dce110_stream_encoder_dp_blank line:944
+------------[ cut here ]------------
+WARNING: CPU: 0 PID: 2201 at /var/lib/dkms/amdgpu/18.50-690240/build/amd/amdgpu/../display/dc/dc_helper.c:249 generic_reg_wait+0xe7/0x160 [amdgpu]
+Call Trace:
+ dce110_stream_encoder_dp_blank+0x11c/0x180 [amdgpu]
+ core_link_disable_stream+0x40/0x230 [amdgpu]
+ ? generic_reg_update_ex+0xdb/0x130 [amdgpu]
+ dce110_reset_hw_ctx_wrap+0xb7/0x1f0 [amdgpu]
+ dce110_apply_ctx_to_hw+0x30/0x430 [amdgpu]
+ ? dce110_apply_ctx_for_surface+0x206/0x260 [amdgpu]
+ dc_commit_state+0x2ba/0x4d0 [amdgpu]
+ amdgpu_dm_atomic_commit_tail+0x297/0xd70 [amdgpu]
+ ? amdgpu_bo_pin_restricted+0x58/0x260 [amdgpu]
+ ? wait_for_completion_timeout+0x1f/0x120
+ ? wait_for_completion_interruptible+0x1c/0x160
+ commit_tail+0x3d/0x60 [drm_kms_helper]
+ drm_atomic_helper_commit+0xf6/0x100 [drm_kms_helper]
+ drm_atomic_connector_commit_dpms+0xe5/0xf0 [drm]
+ drm_mode_obj_set_property_ioctl+0x14f/0x250 [drm]
+ drm_mode_connector_property_set_ioctl+0x2e/0x40 [drm]
+ drm_ioctl+0x1e0/0x430 [drm]
+ ? drm_mode_connector_set_obj_prop+0x70/0x70 [drm]
+ ? ep_read_events_proc+0xb0/0xb0
+ ? ep_scan_ready_list.constprop.18+0x1e6/0x1f0
+ ? timerqueue_add+0x52/0x80
+ amdgpu_drm_ioctl+0x49/0x80 [amdgpu]
+ do_vfs_ioctl+0x90/0x5f0
+ SyS_ioctl+0x74/0x80
+ do_syscall_64+0x74/0x140
+ entry_SYSCALL_64_after_hwframe+0x3d/0xa2
+---[ end trace 3ed7b77a97d60f72 ]---
+
+Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@amd.com>
+Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+Tested-by: Lyude Paul <lyude@redhat.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Cc: stable@vger.kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+index 5da2186b3615..5141c1401889 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -2617,11 +2617,11 @@ void core_link_disable_stream(struct pipe_ctx *pipe_ctx, int option)
+ {
+ struct dc *core_dc = pipe_ctx->stream->ctx->dc;
+
++ core_dc->hwss.blank_stream(pipe_ctx);
++
+ if (pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST)
+ deallocate_mst_payload(pipe_ctx);
+
+- core_dc->hwss.blank_stream(pipe_ctx);
+-
+ core_dc->hwss.disable_stream(pipe_ctx, option);
+
+ disable_link(pipe_ctx->stream->sink->link, pipe_ctx->stream->signal);
+--
+2.20.1
+
diff --git a/series.conf b/series.conf
index 21b96073f2..a20e685bdd 100644
--- a/series.conf
+++ b/series.conf
@@ -278,6 +278,7 @@
patches.kernel.org/4.20.3-038-PCI-dwc-Use-interrupt-masking-instead-of-disab.patch
patches.kernel.org/4.20.3-039-PCI-dwc-Take-lock-when-ACKing-an-interrupt.patch
patches.kernel.org/4.20.3-040-PCI-dwc-Move-interrupt-acking-into-the-proper-.patch
+ patches.kernel.org/4.20.3-041-drm-amd-display-Fix-MST-dp_blank-REG_WAIT-time.patch
########################################################
# Build fixes that apply to the vanilla kernel too.