]> git.baikalelectronics.ru Git - kernel.git/commit
drm: writeback: Add out-fences for writeback connectors
authorBrian Starkey <brian.starkey@arm.com>
Wed, 29 Mar 2017 16:42:33 +0000 (17:42 +0100)
committerLiviu Dudau <Liviu.Dudau@arm.com>
Wed, 20 Jun 2018 14:29:18 +0000 (15:29 +0100)
commit98d467c7ba62c6b85b55a07f0b3ae8431e038021
treec202a3e17b01d1db38cebd680dd7d5cdc0f641cf
parentfab3fd02a36b9d24cc2f428f1424f1f9a48f3670
drm: writeback: Add out-fences for writeback connectors

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 badcf131701a ("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: Brian Starkey <brian.starkey@arm.com>
[rebased and fixed conflicts]
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/229036/
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_writeback.c
include/drm/drm_atomic.h
include/drm/drm_connector.h
include/drm/drm_mode_config.h
include/drm/drm_writeback.h