drm/amd/display: use new vblank enable policy for DCN35+
authorHamza Mahfooz <hamza.mahfooz@amd.com>
Thu, 15 Aug 2024 18:37:27 +0000 (14:37 -0400)
committerHamza Mahfooz <hamza.mahfooz@amd.com>
Fri, 23 Aug 2024 15:53:51 +0000 (11:53 -0400)
commit537ef0f8889761ffe3a6cb4a7bda4de47fe2d69b
tree333b68d617ccb264cd9d7762bb6f13b919a5c2ee
parentcb5164ac43d0fc37ac6b45cabbc4d244068289ef
drm/amd/display: use new vblank enable policy for DCN35+

Hook up drm_crtc_vblank_on_config() in amdgpu_dm. So, that we can enable
PSR and other static screen optimizations more quickly, while avoiding
stuttering issues that are accompanied by the following dmesg error:

[drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3

This also allows us to mimic how vblanking is handled by the Windows
amdgpu driver. Specifically, we wait two idle frames before disabling
the vblank timer there.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240822161856.174600-2-hamza.mahfooz@amd.com
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c