drm/atomic: add ASYNC_UPDATE flag to the Atomic IOCTL

This flag tells core to jump ahead the queued update if the conditions in
drm_atomic_async_check() are met. That means we are only able to do an
async update if no modeset is pending and update for the same plane is not
queued.

It uses the already in place infrastructure for async updates.

It is useful for cursor updates and async PageFlips over the atomic
ioctl, otherwise in some cases updates may be delayed to the point the user
will notice it.

DRM_MODE_ATOMIC_ASYNC_UPDATE should be passed to the Atomic IOCTL to use
this feature.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
3 files changed