summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h
diff options
context:
space:
mode:
authorRoman Li <roman.li@amd.com>2021-06-08 17:32:16 -0400
committerAlex Deucher <alexander.deucher@amd.com>2021-06-21 17:45:14 -0400
commit1a365683d6df1bf22d248fe62d227867793a58f1 (patch)
treee30dd2ce37e3dd7e5147a196b48aeb9c1939b110 /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h
parent9253e11503b4c091509c723f3330119b4fc8c7f0 (diff)
downloadlinux-1a365683d6df1bf22d248fe62d227867793a58f1.tar.gz
linux-1a365683d6df1bf22d248fe62d227867793a58f1.tar.bz2
linux-1a365683d6df1bf22d248fe62d227867793a58f1.zip
drm/amd/display: Delay PSR entry
[Why] After panel power up, if PSR entry attempted too early, PSR state may get stuck in transition. This could happen if the panel is not ready to respond to the SDP PSR entry message. In this case dmub f/w is unable to abort PSR entry since abortion is not permitted after the SDP has been sent. [How] Skip 5 pageflips before PSR enable. Signed-off-by: Roman Li <roman.li@amd.com> Reviewed-by: Hersen Wu <hersenxs.wu@amd.com> Acked-by: Bindu Ramamurthy <bindu.r@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h
index 57bbb80421e8..6806b3c9c84b 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h
@@ -28,6 +28,9 @@
#include "amdgpu.h"
+/* the number of pageflips before enabling psr */
+#define AMDGPU_DM_PSR_ENTRY_DELAY 5
+
void amdgpu_dm_set_psr_caps(struct dc_link *link);
bool amdgpu_dm_psr_enable(struct dc_stream_state *stream);
bool amdgpu_dm_link_setup_psr(struct dc_stream_state *stream);