diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0653-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0653-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0653-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch b/common/recipes-kernel/linux/files/0653-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch new file mode 100644 index 00000000..c7a246fa --- /dev/null +++ b/common/recipes-kernel/linux/files/0653-drm-amd-dal-Skip-unrelated-MST-connectors-in-payload.patch @@ -0,0 +1,53 @@ +From 79420fd2deba83ee02425411bfe1ecf908bc29f5 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 0653/1110] 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. + +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 != +-- +2.7.4 + |