From: Leon Huang <[email protected]>

[Why]
PSR config was being cleared unconditionally during setup, even
when PSR was going to be enabled. A magic number was also used
instead of a macro for DPCD access.

[How]
In PSR setup, clear PSR config when PSR is not enabled.
And use macro definition instead of magic number to access
specific DPCD.

Reviewed-by: Wenjing Liu <[email protected]>
Signed-off-by: Leon Huang <[email protected]>
Signed-off-by: Ivan Lipski <[email protected]>
---
 .../link/protocols/link_edp_panel_control.c   | 22 +++++++++----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c 
b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
index e06a9ac65286..dd21a4c45561 100644
--- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
+++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
@@ -713,17 +713,17 @@ bool edp_setup_psr(struct dc_link *link,
                        sizeof(link->dpcd_caps.psr_info.psr_version));
        }
 
-       //Clear PSR cfg
-       memset(&psr_configuration, 0, sizeof(psr_configuration));
-       dm_helpers_dp_write_dpcd(
-               link->ctx,
-               link,
-               DP_PSR_EN_CFG,
-               &psr_configuration.raw,
-               sizeof(psr_configuration.raw));
-
-       if (link->psr_settings.psr_version == DC_PSR_VERSION_UNSUPPORTED)
+       if (link->psr_settings.psr_version == DC_PSR_VERSION_UNSUPPORTED) {
+               //Clear PSR cfg
+               memset(&psr_configuration, 0, sizeof(psr_configuration));
+               dm_helpers_dp_write_dpcd(
+                       link->ctx,
+                       link,
+                       DP_PSR_EN_CFG,
+                       &psr_configuration.raw,
+                       sizeof(psr_configuration.raw));
                return false;
+       }
 
        dc = link->ctx->dc;
        dmcu = dc->res_pool->dmcu;
@@ -765,7 +765,7 @@ bool edp_setup_psr(struct dc_link *link,
        dm_helpers_dp_write_dpcd(
                link->ctx,
                link,
-               368,
+               DP_PSR_EN_CFG,
                &psr_configuration.raw,
                sizeof(psr_configuration.raw));
 
-- 
2.43.0

Reply via email to