aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0687-drm-amd-dal-Don-t-deallocate-payloads-when-whole-cha.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0687-drm-amd-dal-Don-t-deallocate-payloads-when-whole-cha.patch')
-rw-r--r--common/recipes-kernel/linux/files/0687-drm-amd-dal-Don-t-deallocate-payloads-when-whole-cha.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0687-drm-amd-dal-Don-t-deallocate-payloads-when-whole-cha.patch b/common/recipes-kernel/linux/files/0687-drm-amd-dal-Don-t-deallocate-payloads-when-whole-cha.patch
new file mode 100644
index 00000000..07846b6d
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0687-drm-amd-dal-Don-t-deallocate-payloads-when-whole-cha.patch
@@ -0,0 +1,37 @@
+From ac37f391082bdbbd9919148b911b0ad54deccb45 Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Tue, 12 Jan 2016 12:29:09 -0500
+Subject: [PATCH 0687/1110] drm/amd/dal: Don't deallocate payloads when whole
+ chain disconnected
+
+When the whole MST chain is disconnected we don't want to
+deallocate payloads at reset_mode. dc_helpers_dp_mst_stop_top_mgr
+will already clean up mst_mgr internal state.
+
+When switching the first MST monitor in a daisy-chain from MST to SST mode
+this way we avoid GPIO collision between DPCD access for deallocating
+the old MST displays and EDID read for the new SST dispaly.
+
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Acked-by: Jordan Lazare <Jordan.Lazare@amd.com>
+---
+ drivers/gpu/drm/amd/dal/dc/core/dc_link.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c
+index a634a44..8bd254c 100644
+--- a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c
+@@ -1501,7 +1501,8 @@ void core_link_disable_stream(
+ {
+ struct dc *dc = stream->ctx->dc;
+
+- if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST)
++ if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST &&
++ link->public.type == dc_connection_mst_branch)
+ deallocate_mst_payload(stream);
+
+ dc->hwss.disable_stream(stream);
+--
+2.7.4
+