drm/i915: add syncobj timeline support
Introduces a new parameters to execbuf so that we can specify syncobj handles as well as timeline points. v2: Reuse i915_user_extension_fn v3: Check that the chained extension is only present once (Chris) v4: Check that dma_fence_chain_find_seqno returns a non NULL fence (Lionel) v5: Use BIT_ULL (Chris) v6: Fix issue with already signaled timeline points, dma_fence_chain_find_seqno() setting fence to NULL (Chris) v7: Report ENOENT with invalid syncobj handle (Lionel) v8: Check for out of order timeline point insertion (Chris) v9: After explanations on https://lists.freedesktop.org/archives/dri-devel/2019-August/229287.html drop the ordering check from v8 (Lionel) v10: Set first extension enum item to 1 (Jason) v11: Rebase v12: Allow multiple extension nodes of timeline syncobj (Chris) Signed-off-by:Lionel Landwerlin <lionel.g.landwerlin@intel.com> Co-authored-by:
Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> (v11) Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20200804085954.350343-3-lionel.g.landwerlin@intel.com Link: mesa/mesa!2901 Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
Showing
- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 240 additions, 72 deletionsdrivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
- drivers/gpu/drm/i915/i915_drv.c 2 additions, 1 deletiondrivers/gpu/drm/i915/i915_drv.c
- drivers/gpu/drm/i915/i915_getparam.c 1 addition, 0 deletionsdrivers/gpu/drm/i915/i915_getparam.c
- include/uapi/drm/i915_drm.h 36 additions, 2 deletionsinclude/uapi/drm/i915_drm.h
Loading