diff options
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.patch | 56 |
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 + |