• Brian Starkey's avatar
    drm: writeback: Add out-fences for writeback connectors · b13cc8dd
    Brian Starkey authored
    Add the WRITEBACK_OUT_FENCE_PTR property to writeback connectors, to
    enable userspace to get a fence which will signal once the writeback is
    complete. It is not allowed to request an out-fence without a
    framebuffer attached to the connector.
    
    A timeline is added to drm_writeback_connector for use by the writeback
    out-fences.
    
    In the case of a commit failure or DRM_MODE_ATOMIC_TEST_ONLY, the fence
    is set to -1.
    
    Changes from v2:
     - Rebase onto Gustavo Padovan's v9 explicit sync series
     - Change out_fence_ptr type to s32 __user *
     - Set *out_fence_ptr to -1 in drm_atomic_connector_set_property
     - Store fence in drm_writeback_job
     Gustavo Padovan:
     - Move out_fence_ptr out of connector_state
     - Signal fence from drm_writeback_signal_completion instead of
       in driver directly
    
    Changes from v3:
     - Rebase onto commit 7e9081c5 ("drm/fence: fix memory overwrite
       when setting out_fence fd") (change out_fence_ptr to s32 __user *,
       for real this time.)
     - Update documentation around WRITEBACK_OUT_FENCE_PTR
    Signed-off-by: default avatarBrian Starkey <brian.starkey@arm.com>
    [rebased and fixed conflicts]
    Signed-off-by: default avatarMihail Atanassov <mihail.atanassov@arm.com>
    Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
    Reviewed-by: default avatarEric Anholt <eric@anholt.net>
    Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/229036/
    b13cc8dd
drm_atomic.h 32.7 KB