aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorSamson Tam <Samson.Tam@amd.com>2018-09-07 10:13:55 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-09-26 22:09:05 -0400
commita978f65765e2ccefb22eb77940685ae60c05ff6c (patch)
treebf59f44837a1fd4ea8b3b6c1e5030f8769280d59 /drivers/gpu/drm
parentaa9c4abe466ac7cd4ab8e1d81b959c3d51173745 (diff)
drm/amd/display: use proper pipe_ctx index
Use link->link_index as index to pipe_ctx[] to get proper link information instead of using index 0 to avoid potential miss matches. Signed-off-by: Samson Tam <Samson.Tam@amd.com> Reviewed-by: Anthony Koo <Anthony.Koo@amd.com> Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 1c438eedf77a..7d9be87140cc 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -460,9 +460,25 @@ void dc_link_set_preferred_link_settings(struct dc *dc,
460 struct dc_link_settings *link_setting, 460 struct dc_link_settings *link_setting,
461 struct dc_link *link) 461 struct dc_link *link)
462{ 462{
463 int i;
464 struct pipe_ctx *pipe;
465 struct dc_stream_state *link_stream;
463 struct dc_link_settings store_settings = *link_setting; 466 struct dc_link_settings store_settings = *link_setting;
464 struct dc_stream_state *link_stream = 467
465 link->dc->current_state->res_ctx.pipe_ctx[0].stream; 468 for (i = 0; i < MAX_PIPES; i++) {
469 pipe = &dc->current_state->res_ctx.pipe_ctx[i];
470 if (pipe->stream && pipe->stream->sink
471 && pipe->stream->sink->link) {
472 if (pipe->stream->sink->link == link)
473 break;
474 }
475 }
476
477 /* Stream not found */
478 if (i == MAX_PIPES)
479 return;
480
481 link_stream = link->dc->current_state->res_ctx.pipe_ctx[i].stream;
466 482
467 link->preferred_link_setting = store_settings; 483 link->preferred_link_setting = store_settings;
468 if (link_stream) 484 if (link_stream)