drm/amd/display: move MST branch initialize to before link training
authorHersen Wu <hersenxs.wu@amd.com>
Fri, 9 Feb 2018 21:35:14 +0000 (16:35 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Mar 2018 20:32:20 +0000 (15:32 -0500)
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>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
drivers/gpu/drm/amd/display/dc/core/dc_link.c
drivers/gpu/drm/amd/display/dc/dm_helpers.h

index 9bd142f..3e157e6 100644 (file)
@@ -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.
index 95955ad..f40c9c7 100644 (file)
@@ -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);
 
index ab88f07..53d5566 100644 (file)
@@ -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(