[Why & How]
While support ALPM, do ALPM state transition while PSR entry/exit.
ALPM is needed for PSR-SU feature, and since the function is ready,
we'd enable it by default.

- Add psr level definition to enable/disable ALPM and set ALPM
  powerdone mode.
- Enable ALPM by default

Signed-off-by: David Zhang <dingchen.zh...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 ++++
 drivers/gpu/drm/amd/display/dc/dc_types.h     | 4 +++-
 2 files changed, 7 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 0abb4ef65f43..4f21c15598bf 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -3339,6 +3339,10 @@ bool dc_link_setup_psr(struct dc_link *link,
         */
        psr_context->psr_level.bits.DISABLE_PSR_ENTRY_ABORT = 1;
 
+       /* enable ALPM */
+       psr_context->psr_level.bits.DISABLE_ALPM = 0;
+       psr_context->psr_level.bits.ALPM_DEFAULT_PD_MODE = 1;
+
        /* Controls additional delay after remote frame capture before
         * continuing power down, default = 0
         */
diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h 
b/drivers/gpu/drm/amd/display/dc/dc_types.h
index 144c387010c2..26b62f50ac4e 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_types.h
@@ -698,7 +698,9 @@ union dmcu_psr_level {
                unsigned int SKIP_AUTO_STATE_ADVANCE:1;
                unsigned int DISABLE_PSR_ENTRY_ABORT:1;
                unsigned int SKIP_SINGLE_OTG_DISABLE:1;
-               unsigned int RESERVED:22;
+               unsigned int DISABLE_ALPM:1;
+               unsigned int ALPM_DEFAULT_PD_MODE:1;
+               unsigned int RESERVED:20;
        } bits;
        unsigned int u32all;
 };
-- 
2.25.1

Reply via email to