From c6f35a4f48a647c5365293ae636c1ad5a122fb3b Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 24 Nov 2015 17:44:52 -0500 Subject: [PATCH 0519/1110] drm/amd/dal: Assign stream encoder in MST use case. Signed-off-by: Harry Wentland Acked-by: Harry Wentland --- drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c index d2594a9..fb3f5be 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c @@ -784,17 +784,25 @@ static struct stream_encoder *find_first_free_match_stream_enc_for_link( struct core_link *link) { uint8_t i; + int8_t j = -1; for (i = 0; i < res_ctx->pool.stream_enc_count; i++) { if (!res_ctx->is_stream_enc_acquired[i] && - res_ctx->pool.stream_enc[i]) { + res_ctx->pool.stream_enc[i]) { + /* Store first available for MST second display + * in daisy chain use case */ + j = i; if (res_ctx->pool.stream_enc[i]->id == link->link_enc->preferred_engine) return res_ctx->pool.stream_enc[i]; } } - /* TODO: Handle MST*/ + /* TODO: Handle MST properly + * Currently pick next available stream encoder if found*/ + if (j >= 0 && link->public.sink[0]->sink_signal == + SIGNAL_TYPE_DISPLAY_PORT_MST) + return res_ctx->pool.stream_enc[j]; return NULL; } -- 2.7.4