From: Amy Zhang <Amy.Zhang@xxxxxxx> - Added check to make sure stream and link are corresponding to each other - Initialized PSR caps Signed-off-by: Amy Zhang <Amy.Zhang at amd.com> Acked-by: Harry Wentland <harry.wentland at amd.com> --- drivers/gpu/drm/amd/dal/dc/core/dc.c | 13 +++++++------ drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c | 6 ++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c index c96e9edacaf1..66686ee1c3e1 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c @@ -314,14 +314,15 @@ static bool setup_psr(struct dc *dc, const struct dc_stream *stream) int i; unsigned int underlay_idx = core_dc->res_pool->underlay_pipe_index; - for (i = 0; i < core_dc->link_count; i++) - dc_link_setup_psr(&core_dc->links[i]->public, - stream); + for (i = 0; i < core_dc->link_count; i++) { + if (core_stream->sink->link == core_dc->links[i]) + dc_link_setup_psr(&core_dc->links[i]->public, + stream); + } for (i = 0; i < MAX_PIPES; i++) { - if (core_dc->current_context->res_ctx.pipe_ctx[i].stream == core_stream - && i != underlay_idx) { - + if (core_dc->current_context->res_ctx.pipe_ctx[i].stream + == core_stream && i != underlay_idx) { pipes = &core_dc->current_context->res_ctx.pipe_ctx[i]; core_dc->hwss.set_static_screen_control(&pipes, 1, 0x182); diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c index dd06960e110c..2b0b23ac6cac 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c @@ -2134,6 +2134,12 @@ static void retrieve_link_cap(struct core_link *link) link->public.test_pattern_enabled = false; link->public.compliance_test_state.raw = 0; + link->public.psr_caps.psr_exit_link_training_required = false; + link->public.psr_caps.psr_frame_capture_indication_req = false; + link->public.psr_caps.psr_rfb_setup_time = 0; + link->public.psr_caps.psr_sdp_transmit_line_num_deadline = 0; + link->public.psr_caps.psr_version = 0; + /* read sink count */ core_link_read_dpcd(link, DPCD_ADDRESS_SINK_COUNT, -- 2.10.1