diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1522-drm-amd-display-Poll-pending-DOWN_REP-before-enablin.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/1522-drm-amd-display-Poll-pending-DOWN_REP-before-enablin.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1522-drm-amd-display-Poll-pending-DOWN_REP-before-enablin.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1522-drm-amd-display-Poll-pending-DOWN_REP-before-enablin.patch new file mode 100644 index 00000000..1a329099 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1522-drm-amd-display-Poll-pending-DOWN_REP-before-enablin.patch @@ -0,0 +1,79 @@ +From 2674706477fa5ecf09339ed3c8a1b027f3b9315e Mon Sep 17 00:00:00 2001 +From: Martin Tsai <martin.tsai@amd.com> +Date: Mon, 11 Feb 2019 15:26:21 +0800 +Subject: [PATCH 1522/2940] drm/amd/display: Poll pending DOWN_REP before + enabling the link + +[Why] +With special monitor combination on MST, the UP_REQ could come +after clear payload table. It makes the pending DOWN_REP fail +to be handled after link training and the new DOWN_REQ will be queued +until time out . + +[How] +To move the current polling pending DOWN_REP procedure to after +clear payload table to make sure the pending DOWN_REP can be +done before enabling the link. + +Change-Id: I4f81df255dbbde30baaa51b477c2510b3ff3fe66 +Signed-off-by: Martin Tsai <martin.tsai@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 2 +- + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 8 ++++---- + drivers/gpu/drm/amd/display/dc/dm_helpers.h | 2 +- + 3 files changed, 6 insertions(+), 6 deletions(-) + +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 cae16b6d2344..b4969e400ff8 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 +@@ -264,7 +264,7 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( + } + + /* +- * poll pending down reply before clear payload allocation table ++ * poll pending down reply + */ + void dm_helpers_dp_mst_poll_pending_down_reply( + struct dc_context *ctx, +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 c4b94effbeb3..ac399f74482e 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +@@ -1466,14 +1466,14 @@ 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); ++ + /* to make sure the pending down rep can be processed +- * before clear payload table ++ * before enabling the link + */ + dm_helpers_dp_mst_poll_pending_down_reply(link->ctx, link); + +- /* 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 e81b24374bcb..ccbfe9680d27 100644 +--- a/drivers/gpu/drm/amd/display/dc/dm_helpers.h ++++ b/drivers/gpu/drm/amd/display/dc/dm_helpers.h +@@ -58,7 +58,7 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( + bool enable); + + /* +- * poll pending down reply before clear payload allocation table ++ * poll pending down reply + */ + void dm_helpers_dp_mst_poll_pending_down_reply( + struct dc_context *ctx, +-- +2.17.1 + |