linux_dsm_epyc7002/drivers/gpu/drm/amd
Nicholas Kazlauskas 674e78acae drm/amd/display: Add fast path for cursor plane updates
[Why]
Legacy cursor plane updates from drm helpers go through the full
atomic codepath. A high volume of cursor updates through this slow
code path can cause subsequent page-flips to skip vblank intervals
since each individual update is slow.

This problem is particularly noticeable for the compton compositor.

[How]
A fast path for cursor plane updates is added by using DRM asynchronous
commit support provided by async_check and async_update. These don't do
a full state/flip_done dependency stall and they don't block other
commit work.

However, DC still expects itself to be single-threaded for anything
that can issue register writes. Screen corruption or hangs can occur
if write sequences overlap. Every call that potentially perform
register writes needs to be guarded for asynchronous updates to work.
The dc_lock mutex was added for this.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106175

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Acked-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-12-12 15:32:10 -05:00
..
acp drm/amdgpu: Remove wrapper layer of cgs irq handling 2018-03-21 14:36:58 -05:00
amdgpu drm/amdgpu: Enable GPU recovery by default for CI 2018-12-12 14:26:40 -05:00
amdkfd drm/amdkfd: Add support for doorbell BOs 2018-12-07 18:14:00 -05:00
display drm/amd/display: Add fast path for cursor plane updates 2018-12-12 15:32:10 -05:00
include drm/amdkfd: Add support for doorbell BOs 2018-12-07 18:14:00 -05:00
lib drm/amdgpu: add license to Makefiles 2017-12-07 11:51:10 -05:00
powerplay drm/amdgpu/powerplay: Add special avfs cases for some polaris asics (v3) 2018-12-10 15:33:01 -05:00