summaryrefslogtreecommitdiff
path: root/arch/arm/mach-berlin
diff options
context:
space:
mode:
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>2018-12-05 14:59:07 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-12-12 15:32:10 -0500
commit674e78acae0dfb4beb56132e41cbae5b60f7d662 (patch)
treec773454b584572446c987e1ed44a8f124234a530 /arch/arm/mach-berlin
parentfc42d47ce0118e2f59a67ac0b0da56f9dc454bd9 (diff)
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>
Diffstat (limited to 'arch/arm/mach-berlin')
0 files changed, 0 insertions, 0 deletions