From: Evgenii Krasnikov <[email protected]>

[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 <[email protected]>
Acked-by: Stylon Wang <[email protected]>
Signed-off-by: Evgenii Krasnikov <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/core/dc_link.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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);
 
-- 
2.35.1

Reply via email to