aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1093-drm-amd-display-Skiped-MST-link-training-to-fix-zero.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1093-drm-amd-display-Skiped-MST-link-training-to-fix-zero.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1093-drm-amd-display-Skiped-MST-link-training-to-fix-zero.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1093-drm-amd-display-Skiped-MST-link-training-to-fix-zero.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1093-drm-amd-display-Skiped-MST-link-training-to-fix-zero.patch
new file mode 100644
index 00000000..90db99b1
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1093-drm-amd-display-Skiped-MST-link-training-to-fix-zero.patch
@@ -0,0 +1,56 @@
+From 5a7ee127b68809681a96bdc351a976472e1822a5 Mon Sep 17 00:00:00 2001
+From: "Jerry (Fangzhi) Zuo" <Jerry.Zuo@amd.com>
+Date: Wed, 3 Jan 2018 13:53:22 -0500
+Subject: [PATCH 1093/4131] drm/amd/display: Skiped MST link training to fix
+ zero denominator
+
+Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@amd.com>
+Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +++++++++-
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 6 ++++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+index a582fa2..2780641 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -2461,8 +2461,16 @@ static struct dc_stream_state *create_stream_for_sink(
+
+ drm_connector = &aconnector->base;
+
+- if (!aconnector->dc_sink)
++ if (!aconnector->dc_sink) {
++ /*
++ * Exclude MST from creating fake_sink
++ * TODO: need to enable MST into fake_sink feature
++ */
++ if (aconnector->mst_port)
++ goto stream_create_fail;
++
+ create_fake_sink(aconnector);
++ }
+
+ stream = dc_create_stream_for_sink(aconnector->dc_sink);
+
+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 b858fec..232249a 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -608,6 +608,12 @@ bool dc_link_detect(struct dc_link *link, bool boot)
+ if (link->type == dc_connection_mst_branch) {
+ LINK_INFO("link=%d, mst branch is now Connected\n",
+ link->link_index);
++ /* Need to setup mst link_cap struct here
++ * otherwise dc_link_detect() will leave mst link_cap
++ * empty which leads to allocate_mst_payload() has "0"
++ * pbn_per_slot value leading to exception on dal_fixed31_32_div()
++ */
++ link->verified_link_cap = link->reported_link_cap;
+ return false;
+ }
+
+--
+2.7.4
+