diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3628-drm-amd-display-move-MST-branch-initialize-to-before.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3628-drm-amd-display-move-MST-branch-initialize-to-before.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3628-drm-amd-display-move-MST-branch-initialize-to-before.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3628-drm-amd-display-move-MST-branch-initialize-to-before.patch new file mode 100644 index 00000000..8cfe04c8 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3628-drm-amd-display-move-MST-branch-initialize-to-before.patch @@ -0,0 +1,74 @@ +From 0539d41c3ed519649dac887faff333a06096e6ff Mon Sep 17 00:00:00 2001 +From: Hersen Wu <hersenxs.wu@amd.com> +Date: Fri, 9 Feb 2018 16:35:14 -0500 +Subject: [PATCH 3628/4131] drm/amd/display: move MST branch initialize to + before link training + +some MST capable scaler doesn't like recieving CLEAR_PAYLOAD_ID_TABLE after +link training. move branch initialize to before link training + +Signed-off-by: Hersen Wu <hersenxs.wu@amd.com> +Signed-off-by: Tony Cheng <tony.cheng@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 9 +++++++++ + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 3 +++ + drivers/gpu/drm/amd/display/dc/dm_helpers.h | 7 +++++++ + 3 files changed, 19 insertions(+) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +index 9bd142f..3e157e6 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +@@ -258,6 +258,15 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( + return true; + } + ++ ++/* ++ * Clear payload allocation table before enable MST DP link. ++ */ ++void dm_helpers_dp_mst_clear_payload_allocation_table( ++ struct dc_context *ctx, ++ const struct dc_link *link) ++{} ++ + /* + * Polls for ACT (allocation change trigger) handled and sends + * ALLOCATE_PAYLOAD message. +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 95955ade..f40c9c7 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +@@ -1311,6 +1311,9 @@ static enum dc_status enable_link_dp_mst( + if (link->cur_link_settings.lane_count != LANE_COUNT_UNKNOWN) + return DC_OK; + ++ /* clear payload table */ ++ dm_helpers_dp_mst_clear_payload_allocation_table(link->ctx, link); ++ + /* set the sink to MST mode before enabling the link */ + dp_enable_mst_on_sink(link, true); + +diff --git a/drivers/gpu/drm/amd/display/dc/dm_helpers.h b/drivers/gpu/drm/amd/display/dc/dm_helpers.h +index ab88f07..53d5566 100644 +--- a/drivers/gpu/drm/amd/display/dc/dm_helpers.h ++++ b/drivers/gpu/drm/amd/display/dc/dm_helpers.h +@@ -50,6 +50,13 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( + bool enable); + + /* ++ * Clear payload allocation table before enable MST DP link. ++ */ ++void dm_helpers_dp_mst_clear_payload_allocation_table( ++ struct dc_context *ctx, ++ const struct dc_link *link); ++ ++/* + * Polls for ACT (allocation change trigger) handled and + */ + bool dm_helpers_dp_mst_poll_for_allocation_change_trigger( +-- +2.7.4 + |