aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/1029-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/1029-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch')
-rw-r--r--common/recipes-kernel/linux/files/1029-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/1029-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch b/common/recipes-kernel/linux/files/1029-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch
new file mode 100644
index 00000000..cc1489e2
--- /dev/null
+++ b/common/recipes-kernel/linux/files/1029-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch
@@ -0,0 +1,54 @@
+From acde014ffe4556c741a619ff3239cfdd92698fdc Mon Sep 17 00:00:00 2001
+From: David Rokhvarg <David.Rokhvarg@amd.com>
+Date: Wed, 30 Dec 2015 11:14:42 -0500
+Subject: [PATCH 1029/1050] drm/amd/dal: Skip unrelated MST connectors in
+ payload allocation.
+
+Skip MST connectors belonging to other 'root' connectors during payload allocation.
+This fixes multi-MST configuration light-up.
+
+Change-Id: I87621a331eec0bcc018b4efa8ad72124468bd2ba
+Signed-off-by: David Rokhvarg <David.Rokhvarg@amd.com>
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+---
+ drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c
+index 95a129e..744ab94 100644
+--- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c
++++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dc_helpers.c
+@@ -177,6 +177,7 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ struct drm_crtc *crtc;
+ struct drm_dp_mst_topology_mgr *mst_mgr;
+ struct drm_dp_mst_port *mst_port;
++ struct amdgpu_connector *master_port;
+ int slots = 0;
+ bool ret;
+ int clock;
+@@ -191,7 +192,8 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ if (!aconnector->mst_port)
+ return false;
+
+- mst_mgr = &aconnector->mst_port->mst_mgr;
++ master_port = aconnector->mst_port;
++ mst_mgr = &master_port->mst_mgr;
+
+ if (!mst_mgr->mst_state)
+ return false;
+@@ -300,6 +302,11 @@ bool dc_helpers_dp_mst_write_payload_allocation_table(
+ if (!aconnector->mst_port)
+ continue;
+
++ if (master_port != aconnector->mst_port) {
++ /* Not the same physical connector. */
++ continue;
++ }
++
+ mst_port = aconnector->port;
+
+ if (mst_port->vcpi.vcpi !=
+--
+1.9.1
+