From: Evgenii Krasnikov Date: Thu, 21 Apr 2022 21:18:19 +0000 (-0400) Subject: drm/amd/display: Reset cached PSR parameters after hibernate X-Git-Tag: howlett/maple/20220722_2~460^2~3^2~49 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=99c04671b1e9c08faf5155c0d7347c91932ca2a0;p=users%2Fjedix%2Flinux-maple.git drm/amd/display: Reset cached PSR parameters after hibernate [WHY] After hibernate system might be using old invalid psr_power_opt and psr_allow_active that never get reset [HOW] Reset cached Panel Self Refresh parameters when PSR is first configured for eDP in dc_link_setup_psr. Reviewed-by: Anthony Koo Acked-by: Stylon Wang Signed-off-by: Evgenii Krasnikov Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c index 3d13ee32a3db..48e274f9ea84 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c @@ -3317,9 +3317,12 @@ bool dc_link_setup_psr(struct dc_link *link, */ psr_context->frame_delay = 0; - if (psr) + if (psr) { link->psr_settings.psr_feature_enabled = psr->funcs->psr_copy_settings(psr, link, psr_context, panel_inst); + link->psr_settings.psr_power_opt = 0; + link->psr_settings.psr_allow_active = 0; + } else link->psr_settings.psr_feature_enabled = dmcu->funcs->setup_psr(dmcu, link, psr_context);