Commit fd92ac1b authored by Hersen Wu's avatar Hersen Wu Committed by Alex Deucher

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: default avatarHersen Wu <hersenxs.wu@amd.com>
Signed-off-by: default avatarTony Cheng <tony.cheng@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 3126bf79
...@@ -258,6 +258,15 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( ...@@ -258,6 +258,15 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
return true; 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 * Polls for ACT (allocation change trigger) handled and sends
* ALLOCATE_PAYLOAD message. * ALLOCATE_PAYLOAD message.
......
...@@ -1311,6 +1311,9 @@ static enum dc_status enable_link_dp_mst( ...@@ -1311,6 +1311,9 @@ static enum dc_status enable_link_dp_mst(
if (link->cur_link_settings.lane_count != LANE_COUNT_UNKNOWN) if (link->cur_link_settings.lane_count != LANE_COUNT_UNKNOWN)
return DC_OK; 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 */ /* set the sink to MST mode before enabling the link */
dp_enable_mst_on_sink(link, true); dp_enable_mst_on_sink(link, true);
......
...@@ -49,6 +49,13 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( ...@@ -49,6 +49,13 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
struct dp_mst_stream_allocation_table *proposed_table, struct dp_mst_stream_allocation_table *proposed_table,
bool enable); 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 * Polls for ACT (allocation change trigger) handled and
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment