aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/gpu
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-04-03 23:26:24 -0400
committerDave Airlie <airlied@redhat.com>2017-06-13 22:10:22 -0400
commite9083420bbacce27e43d418064d0d2dfb4b37aaa (patch)
treea539c575bae132fa2cc992ee53da4c04909e7fe1 /Documentation/gpu
parentc9f0726ff360cf75aaafd326e439e9234630aee9 (diff)
drm: introduce sync objects (v4)
Sync objects are new toplevel drm object, that contain a pointer to a fence. This fence can be updated via command submission ioctls via drivers. There is also a generic wait obj API modelled on the vulkan wait API (with code modelled on some amdgpu code). These objects can be converted to an opaque fd that can be passes between processes. v2: rename reference/unreference to put/get (Chris) fix leaked reference (David Zhou) drop mutex in favour of cmpxchg (Chris) v3: cleanups from danvet, rebase on drm_fops rename check fd_flags is 0 in ioctls. v4: export find/free, change replace fence to take a syncobj. In order to support lookup first, replace later semantics which seem in the end to be cleaner. Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'Documentation/gpu')
-rw-r--r--Documentation/gpu/drm-internals.rst3
-rw-r--r--Documentation/gpu/drm-mm.rst12
2 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/gpu/drm-internals.rst b/Documentation/gpu/drm-internals.rst
index f6882ad0b3c3..0d936c67bf7d 100644
--- a/Documentation/gpu/drm-internals.rst
+++ b/Documentation/gpu/drm-internals.rst
@@ -98,6 +98,9 @@ DRIVER_ATOMIC
98 implement appropriate obj->atomic_get_property() vfuncs for any 98 implement appropriate obj->atomic_get_property() vfuncs for any
99 modeset objects with driver specific properties. 99 modeset objects with driver specific properties.
100 100
101DRIVER_SYNCOBJ
102 Driver support drm sync objects.
103
101Major, Minor and Patchlevel 104Major, Minor and Patchlevel
102~~~~~~~~~~~~~~~~~~~~~~~~~~~ 105~~~~~~~~~~~~~~~~~~~~~~~~~~~
103 106
diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst
index 96b9c34c21e4..9412798645c1 100644
--- a/Documentation/gpu/drm-mm.rst
+++ b/Documentation/gpu/drm-mm.rst
@@ -484,3 +484,15 @@ DRM Cache Handling
484 484
485.. kernel-doc:: drivers/gpu/drm/drm_cache.c 485.. kernel-doc:: drivers/gpu/drm/drm_cache.c
486 :export: 486 :export:
487
488DRM Sync Objects
489===========================
490
491.. kernel-doc:: drivers/gpu/drm/drm_syncobj.c
492 :doc: Overview
493
494.. kernel-doc:: include/drm/drm_syncobj.h
495 :export:
496
497.. kernel-doc:: drivers/gpu/drm/drm_syncobj.c
498 :export: