drm/amd/display: Disable VUpdate interrupt for DCN hardware
authorLeo Li <sunpeng.li@amd.com>
Mon, 4 Nov 2019 19:08:05 +0000 (14:08 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 13 Nov 2019 20:29:44 +0000 (15:29 -0500)
commit3a2ce8d66a4b81cb6d3c6c61e3fb4d061fff0e38
tree021124bc16edd6382d42d808d1f051c397ac2e9d
parent16f17eda8bad3c29db3265298009994ae136237b
drm/amd/display: Disable VUpdate interrupt for DCN hardware

[Why]

On DCN hardware, the crtc_high_irq handler makes vupdate_high_irq
handler redundant.

All the vupdate handler does is handle vblank events, and update vrr
for DCE hw (excluding VEGA, more on that later). As far as usermode is
concerned. vstartup happens close enough to vupdate on DCN that it can
be considered the "same". Handling vblank and updating vrr at vstartup
effectively replaces vupdate on DCN.

Vega is a bit special. Like DCN, the VRR registers on Vega are
double-buffered, and swapped at vupdate. But Unlike DCN, it lacks a
vstartup interrupt. This means we can't quite remove the vupdate handler
for it, since delayed user events due to vrr are sent off there.

[How]

Remove registration of vupdate interrupt handler for DCN. Disable
vupdate interrupt if asic family DCN, enable otherwise.

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c