* [PATCH v5 0/2] drm/i915: timeline semaphore support @ 2019-08-22 12:12 Lionel Landwerlin 2019-08-22 12:12 ` [PATCH v5 1/2] drm/i915: introduce a mechanism to extend execbuf2 Lionel Landwerlin ` (5 more replies) 0 siblings, 6 replies; 9+ messages in thread From: Lionel Landwerlin @ 2019-08-22 12:12 UTC (permalink / raw) To: intel-gfx Hi, Just fiddling with enums to avoid default 0 values as recommended by Jason. Cheers, Lionel Landwerlin (2): drm/i915: introduce a mechanism to extend execbuf2 drm/i915: add syncobj timeline support .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 346 +++++++++++++++--- drivers/gpu/drm/i915/i915_drv.c | 3 +- drivers/gpu/drm/i915/i915_getparam.c | 1 + include/uapi/drm/i915_drm.h | 65 +++- 4 files changed, 354 insertions(+), 61 deletions(-) -- 2.23.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 1/2] drm/i915: introduce a mechanism to extend execbuf2 2019-08-22 12:12 [PATCH v5 0/2] drm/i915: timeline semaphore support Lionel Landwerlin @ 2019-08-22 12:12 ` Lionel Landwerlin 2019-08-22 12:12 ` [PATCH v5 2/2] drm/i915: add syncobj timeline support Lionel Landwerlin ` (4 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: Lionel Landwerlin @ 2019-08-22 12:12 UTC (permalink / raw) To: intel-gfx We're planning to use this for a couple of new feature where we need to provide additional parameters to execbuf. v2: Check for invalid flags in execbuffer2 (Lionel) v3: Rename I915_EXEC_EXT -> I915_EXEC_USE_EXTENSIONS (Chris) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v1) --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 39 ++++++++++++++++++- include/uapi/drm/i915_drm.h | 26 +++++++++++-- 2 files changed, 61 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index f30258eebbd2..8d1946556bc0 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -25,6 +25,7 @@ #include "i915_gem_context.h" #include "i915_gem_ioctls.h" #include "i915_trace.h" +#include "i915_user_extensions.h" enum { FORCE_CPU_RELOC = 1, @@ -271,6 +272,10 @@ struct i915_execbuffer { */ int lut_size; struct hlist_head *buckets; /** ht for relocation handles */ + + struct { + u64 flags; /** Available extensions parameters */ + } extensions; }; #define exec_entry(EB, VMA) (&(EB)->exec[(VMA)->exec_flags - (EB)->flags]) @@ -1915,7 +1920,8 @@ static bool i915_gem_check_execbuffer(struct drm_i915_gem_execbuffer2 *exec) return false; /* Kernel clipping was a DRI1 misfeature */ - if (!(exec->flags & I915_EXEC_FENCE_ARRAY)) { + if (!(exec->flags & (I915_EXEC_FENCE_ARRAY | + I915_EXEC_USE_EXTENSIONS))) { if (exec->num_cliprects || exec->cliprects_ptr) return false; } @@ -2417,6 +2423,33 @@ signal_fence_array(struct i915_execbuffer *eb, } } +static const i915_user_extension_fn execbuf_extensions[] = { +}; + +static int +parse_execbuf2_extensions(struct drm_i915_gem_execbuffer2 *args, + struct i915_execbuffer *eb) +{ + eb->extensions.flags = 0; + + if (!(args->flags & I915_EXEC_USE_EXTENSIONS)) + return 0; + + /* The execbuf2 extension mechanism reuses cliprects_ptr. So we cannot + * have another flag also using it at the same time. + */ + if (eb->args->flags & I915_EXEC_FENCE_ARRAY) + return -EINVAL; + + if (args->num_cliprects != 0) + return -EINVAL; + + return i915_user_extensions(u64_to_user_ptr(args->cliprects_ptr), + execbuf_extensions, + ARRAY_SIZE(execbuf_extensions), + eb); +} + static int i915_gem_do_execbuffer(struct drm_device *dev, struct drm_file *file, @@ -2463,6 +2496,10 @@ i915_gem_do_execbuffer(struct drm_device *dev, if (args->flags & I915_EXEC_IS_PINNED) eb.batch_flags |= I915_DISPATCH_PINNED; + err = parse_execbuf2_extensions(args, &eb); + if (err) + return err; + if (args->flags & I915_EXEC_FENCE_IN) { in_fence = sync_file_get_fence(lower_32_bits(args->rsvd2)); if (!in_fence) diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index 469dc512cca3..0a99c26730e1 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -1007,6 +1007,10 @@ struct drm_i915_gem_exec_fence { __u32 flags; }; +enum drm_i915_gem_execbuffer_ext { + DRM_I915_GEM_EXECBUFFER_EXT_MAX /* non-ABI */ +}; + struct drm_i915_gem_execbuffer2 { /** * List of gem_exec_object2 structs @@ -1023,8 +1027,15 @@ struct drm_i915_gem_execbuffer2 { __u32 num_cliprects; /** * This is a struct drm_clip_rect *cliprects if I915_EXEC_FENCE_ARRAY - * is not set. If I915_EXEC_FENCE_ARRAY is set, then this is a - * struct drm_i915_gem_exec_fence *fences. + * & I915_EXEC_USE_EXTENSIONS are not set. + * + * If I915_EXEC_FENCE_ARRAY is set, then this is a pointer to an array + * of struct drm_i915_gem_exec_fence and num_cliprects is the length + * of the array. + * + * If I915_EXEC_USE_EXTENSIONS is set, then this is a pointer to a + * single struct drm_i915_gem_base_execbuffer_ext and num_cliprects is + * 0. */ __u64 cliprects_ptr; #define I915_EXEC_RING_MASK (0x3f) @@ -1142,7 +1153,16 @@ struct drm_i915_gem_execbuffer2 { */ #define I915_EXEC_FENCE_SUBMIT (1 << 20) -#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SUBMIT << 1)) +/* + * Setting I915_EXEC_USE_EXTENSIONS implies that + * drm_i915_gem_execbuffer2.cliprects_ptr is treated as a pointer to an linked + * list of i915_user_extension. Each i915_user_extension node is the base of a + * larger structure. The list of supported structures are listed in the + * drm_i915_gem_execbuffer_ext enum. + */ +#define I915_EXEC_USE_EXTENSIONS (1 << 21) + +#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_USE_EXTENSIONS<<1)) #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) #define i915_execbuffer2_set_context_id(eb2, context) \ -- 2.23.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v5 2/2] drm/i915: add syncobj timeline support 2019-08-22 12:12 [PATCH v5 0/2] drm/i915: timeline semaphore support Lionel Landwerlin 2019-08-22 12:12 ` [PATCH v5 1/2] drm/i915: introduce a mechanism to extend execbuf2 Lionel Landwerlin @ 2019-08-22 12:12 ` Lionel Landwerlin 2019-08-23 11:05 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: timeline semaphore support Patchwork ` (3 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: Lionel Landwerlin @ 2019-08-22 12:12 UTC (permalink / raw) To: intel-gfx 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) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 307 ++++++++++++++---- drivers/gpu/drm/i915/i915_drv.c | 3 +- drivers/gpu/drm/i915/i915_getparam.c | 1 + include/uapi/drm/i915_drm.h | 39 +++ 4 files changed, 293 insertions(+), 57 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 8d1946556bc0..6d5a234f9f9b 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -214,6 +214,13 @@ enum { * the batchbuffer in trusted mode, otherwise the ioctl is rejected. */ +struct i915_eb_fences { + struct drm_syncobj *syncobj; /* Use with ptr_mask_bits() */ + struct dma_fence *dma_fence; + u64 value; + struct dma_fence_chain *chain_fence; +}; + struct i915_execbuffer { struct drm_i915_private *i915; /** i915 backpointer */ struct drm_file *file; /** per-file lookup tables and limits */ @@ -275,6 +282,7 @@ struct i915_execbuffer { struct { u64 flags; /** Available extensions parameters */ + struct drm_i915_gem_execbuffer_ext_timeline_fences timeline_fences; } extensions; }; @@ -2295,67 +2303,217 @@ eb_pin_engine(struct i915_execbuffer *eb, } static void -__free_fence_array(struct drm_syncobj **fences, unsigned int n) +__free_fence_array(struct i915_eb_fences *fences, unsigned int n) { - while (n--) - drm_syncobj_put(ptr_mask_bits(fences[n], 2)); + while (n--) { + drm_syncobj_put(ptr_mask_bits(fences[n].syncobj, 2)); + dma_fence_put(fences[n].dma_fence); + kfree(fences[n].chain_fence); + } kvfree(fences); } -static struct drm_syncobj ** -get_fence_array(struct drm_i915_gem_execbuffer2 *args, - struct drm_file *file) +static struct i915_eb_fences * +get_timeline_fence_array(struct i915_execbuffer *eb, int *out_n_fences) { - const unsigned long nfences = args->num_cliprects; + struct drm_i915_gem_execbuffer_ext_timeline_fences *timeline_fences = + &eb->extensions.timeline_fences; + struct drm_i915_gem_exec_fence __user *user_fences; + struct i915_eb_fences *fences; + u64 __user *user_values; + u64 num_fences, num_user_fences = timeline_fences->fence_count; + unsigned long n; + int err; + + /* Check multiplication overflow for access_ok() and kvmalloc_array() */ + BUILD_BUG_ON(sizeof(size_t) > sizeof(unsigned long)); + if (num_user_fences > min_t(unsigned long, + ULONG_MAX / sizeof(*user_fences), + SIZE_MAX / sizeof(*fences))) + return ERR_PTR(-EINVAL); + + user_fences = u64_to_user_ptr(timeline_fences->handles_ptr); + if (!access_ok(user_fences, num_user_fences * sizeof(*user_fences))) + return ERR_PTR(-EFAULT); + + user_values = u64_to_user_ptr(timeline_fences->values_ptr); + if (!access_ok(user_values, num_user_fences * sizeof(*user_values))) + return ERR_PTR(-EFAULT); + + fences = kvmalloc_array(num_user_fences, sizeof(*fences), + __GFP_NOWARN | GFP_KERNEL); + if (!fences) + return ERR_PTR(-ENOMEM); + + BUILD_BUG_ON(~(ARCH_KMALLOC_MINALIGN - 1) & + ~__I915_EXEC_FENCE_UNKNOWN_FLAGS); + + for (n = 0, num_fences = 0; n < timeline_fences->fence_count; n++) { + struct drm_i915_gem_exec_fence user_fence; + struct drm_syncobj *syncobj; + struct dma_fence *fence = NULL; + u64 point; + + if (__copy_from_user(&user_fence, user_fences++, sizeof(user_fence))) { + err = -EFAULT; + goto err; + } + + if (user_fence.flags & __I915_EXEC_FENCE_UNKNOWN_FLAGS) { + err = -EINVAL; + goto err; + } + + if (__get_user(point, user_values++)) { + err = -EFAULT; + goto err; + } + + syncobj = drm_syncobj_find(eb->file, user_fence.handle); + if (!syncobj) { + DRM_DEBUG("Invalid syncobj handle provided\n"); + err = -ENOENT; + goto err; + } + + if (user_fence.flags & I915_EXEC_FENCE_WAIT) { + fence = drm_syncobj_fence_get(syncobj); + if (!fence) { + DRM_DEBUG("Syncobj handle has no fence\n"); + drm_syncobj_put(syncobj); + err = -EINVAL; + goto err; + } + + err = dma_fence_chain_find_seqno(&fence, point); + if (err) { + DRM_DEBUG("Syncobj handle missing requested point %llu\n", point); + drm_syncobj_put(syncobj); + goto err; + } + + /* A point might have been signaled already and + * garbage collected from the timeline. In this case + * just ignore the point and carry on. + */ + if (!fence) { + drm_syncobj_put(syncobj); + continue; + } + } + + /* + * For timeline syncobjs we need to preallocate chains for + * later signaling. + */ + if (point != 0 && user_fence.flags & I915_EXEC_FENCE_SIGNAL) { + /* + * Waiting and signaling the same point (when point != + * 0) would break the timeline. + */ + if (user_fence.flags & I915_EXEC_FENCE_WAIT) { + DRM_DEBUG("Tring to wait & signal the same timeline point.\n"); + err = -EINVAL; + drm_syncobj_put(syncobj); + goto err; + } + + fences[num_fences].chain_fence = + kmalloc(sizeof(*fences[num_fences].chain_fence), + GFP_KERNEL); + if (!fences[num_fences].chain_fence) { + drm_syncobj_put(syncobj); + err = -ENOMEM; + DRM_DEBUG("Unable to alloc chain_fence\n"); + goto err; + } + } else { + fences[num_fences].chain_fence = NULL; + } + + fences[num_fences].syncobj = ptr_pack_bits(syncobj, user_fence.flags, 2); + fences[num_fences].dma_fence = fence; + fences[num_fences].value = point; + num_fences++; + } + + *out_n_fences = num_fences; + + return fences; + +err: + __free_fence_array(fences, num_fences); + return ERR_PTR(err); +} + +static struct i915_eb_fences * +get_legacy_fence_array(struct i915_execbuffer *eb, + int *out_n_fences) +{ + struct drm_i915_gem_execbuffer2 *args = eb->args; struct drm_i915_gem_exec_fence __user *user; - struct drm_syncobj **fences; + struct i915_eb_fences *fences; + const u32 num_fences = args->num_cliprects; unsigned long n; int err; - if (!(args->flags & I915_EXEC_FENCE_ARRAY)) - return NULL; + *out_n_fences = num_fences; /* Check multiplication overflow for access_ok() and kvmalloc_array() */ BUILD_BUG_ON(sizeof(size_t) > sizeof(unsigned long)); - if (nfences > min_t(unsigned long, - ULONG_MAX / sizeof(*user), - SIZE_MAX / sizeof(*fences))) + if (*out_n_fences > min_t(unsigned long, + ULONG_MAX / sizeof(*user), + SIZE_MAX / sizeof(*fences))) return ERR_PTR(-EINVAL); user = u64_to_user_ptr(args->cliprects_ptr); - if (!access_ok(user, nfences * sizeof(*user))) + if (!access_ok(user, *out_n_fences * sizeof(*user))) return ERR_PTR(-EFAULT); - fences = kvmalloc_array(nfences, sizeof(*fences), + fences = kvmalloc_array(*out_n_fences, sizeof(*fences), __GFP_NOWARN | GFP_KERNEL); if (!fences) return ERR_PTR(-ENOMEM); - for (n = 0; n < nfences; n++) { - struct drm_i915_gem_exec_fence fence; + for (n = 0; n < *out_n_fences; n++) { + struct drm_i915_gem_exec_fence user_fence; struct drm_syncobj *syncobj; + struct dma_fence *fence = NULL; - if (__copy_from_user(&fence, user++, sizeof(fence))) { + if (__copy_from_user(&user_fence, user++, sizeof(user_fence))) { err = -EFAULT; goto err; } - if (fence.flags & __I915_EXEC_FENCE_UNKNOWN_FLAGS) { + if (user_fence.flags & __I915_EXEC_FENCE_UNKNOWN_FLAGS) { err = -EINVAL; goto err; } - syncobj = drm_syncobj_find(file, fence.handle); + syncobj = drm_syncobj_find(eb->file, user_fence.handle); if (!syncobj) { DRM_DEBUG("Invalid syncobj handle provided\n"); err = -ENOENT; goto err; } + if (user_fence.flags & I915_EXEC_FENCE_WAIT) { + fence = drm_syncobj_fence_get(syncobj); + if (!fence) { + DRM_DEBUG("Syncobj handle has no fence\n"); + drm_syncobj_put(syncobj); + err = -EINVAL; + goto err; + } + } + BUILD_BUG_ON(~(ARCH_KMALLOC_MINALIGN - 1) & ~__I915_EXEC_FENCE_UNKNOWN_FLAGS); - fences[n] = ptr_pack_bits(syncobj, fence.flags, 2); + fences[n].syncobj = ptr_pack_bits(syncobj, user_fence.flags, 2); + fences[n].dma_fence = fence; + fences[n].value = 0; + fences[n].chain_fence = NULL; } return fences; @@ -2365,37 +2523,44 @@ get_fence_array(struct drm_i915_gem_execbuffer2 *args, return ERR_PTR(err); } +static struct i915_eb_fences * +get_fence_array(struct i915_execbuffer *eb, int *out_n_fences) +{ + if (eb->args->flags & I915_EXEC_FENCE_ARRAY) + return get_legacy_fence_array(eb, out_n_fences); + + if (eb->extensions.flags & BIT_ULL(DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES)) + return get_timeline_fence_array(eb, out_n_fences); + + *out_n_fences = 0; + return NULL; +} + static void -put_fence_array(struct drm_i915_gem_execbuffer2 *args, - struct drm_syncobj **fences) +put_fence_array(struct i915_eb_fences *fences, int nfences) { if (fences) - __free_fence_array(fences, args->num_cliprects); + __free_fence_array(fences, nfences); } static int await_fence_array(struct i915_execbuffer *eb, - struct drm_syncobj **fences) + struct i915_eb_fences *fences, + int nfences) { - const unsigned int nfences = eb->args->num_cliprects; unsigned int n; int err; for (n = 0; n < nfences; n++) { struct drm_syncobj *syncobj; - struct dma_fence *fence; unsigned int flags; - syncobj = ptr_unpack_bits(fences[n], &flags, 2); + syncobj = ptr_unpack_bits(fences[n].syncobj, &flags, 2); if (!(flags & I915_EXEC_FENCE_WAIT)) continue; - fence = drm_syncobj_fence_get(syncobj); - if (!fence) - return -EINVAL; - - err = i915_request_await_dma_fence(eb->request, fence); - dma_fence_put(fence); + err = i915_request_await_dma_fence(eb->request, + fences[n].dma_fence); if (err < 0) return err; } @@ -2405,9 +2570,9 @@ await_fence_array(struct i915_execbuffer *eb, static void signal_fence_array(struct i915_execbuffer *eb, - struct drm_syncobj **fences) + struct i915_eb_fences *fences, + int nfences) { - const unsigned int nfences = eb->args->num_cliprects; struct dma_fence * const fence = &eb->request->fence; unsigned int n; @@ -2415,15 +2580,46 @@ signal_fence_array(struct i915_execbuffer *eb, struct drm_syncobj *syncobj; unsigned int flags; - syncobj = ptr_unpack_bits(fences[n], &flags, 2); + syncobj = ptr_unpack_bits(fences[n].syncobj, &flags, 2); if (!(flags & I915_EXEC_FENCE_SIGNAL)) continue; - drm_syncobj_replace_fence(syncobj, fence); + if (fences[n].chain_fence) { + drm_syncobj_add_point(syncobj, fences[n].chain_fence, + fence, fences[n].value); + /* + * The chain's ownership is transfered to the + * timeline. + */ + fences[n].chain_fence = NULL; + } else { + drm_syncobj_replace_fence(syncobj, fence); + } } } +static int parse_timeline_fences(struct i915_user_extension __user *ext, void *data) +{ + struct i915_execbuffer *eb = data; + + /* Timeline fences are incompatible with the fence array flag. */ + if (eb->args->flags & I915_EXEC_FENCE_ARRAY) + return -EINVAL; + + if (eb->extensions.flags & BIT_ULL(DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES)) + return -EINVAL; + + if (copy_from_user(&eb->extensions.timeline_fences, ext, + sizeof(eb->extensions.timeline_fences))) + return -EFAULT; + + eb->extensions.flags |= BIT_ULL(DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES); + + return 0; +} + static const i915_user_extension_fn execbuf_extensions[] = { + [DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES] = parse_timeline_fences, }; static int @@ -2454,14 +2650,15 @@ static int i915_gem_do_execbuffer(struct drm_device *dev, struct drm_file *file, struct drm_i915_gem_execbuffer2 *args, - struct drm_i915_gem_exec_object2 *exec, - struct drm_syncobj **fences) + struct drm_i915_gem_exec_object2 *exec) { struct i915_execbuffer eb; struct dma_fence *in_fence = NULL; struct dma_fence *exec_fence = NULL; struct sync_file *out_fence = NULL; + struct i915_eb_fences *fences = NULL; int out_fence_fd = -1; + int nfences = 0; int err; BUILD_BUG_ON(__EXEC_INTERNAL_FLAGS & ~__I915_EXEC_ILLEGAL_FLAGS); @@ -2500,10 +2697,16 @@ i915_gem_do_execbuffer(struct drm_device *dev, if (err) return err; + fences = get_fence_array(&eb, &nfences); + if (IS_ERR(fences)) + return PTR_ERR(fences); + if (args->flags & I915_EXEC_FENCE_IN) { in_fence = sync_file_get_fence(lower_32_bits(args->rsvd2)); - if (!in_fence) - return -EINVAL; + if (!in_fence) { + err = -EINVAL; + goto err_fences; + } } if (args->flags & I915_EXEC_FENCE_SUBMIT) { @@ -2648,7 +2851,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, } if (fences) { - err = await_fence_array(&eb, fences); + err = await_fence_array(&eb, fences, nfences); if (err) goto err_request; } @@ -2679,7 +2882,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, i915_request_add(eb.request); if (fences) - signal_fence_array(&eb, fences); + signal_fence_array(&eb, fences, nfences); if (out_fence) { if (err == 0) { @@ -2714,6 +2917,8 @@ i915_gem_do_execbuffer(struct drm_device *dev, dma_fence_put(exec_fence); err_in_fence: dma_fence_put(in_fence); +err_fences: + put_fence_array(fences, nfences); return err; } @@ -2807,7 +3012,7 @@ i915_gem_execbuffer_ioctl(struct drm_device *dev, void *data, exec2_list[i].flags = 0; } - err = i915_gem_do_execbuffer(dev, file, &exec2, exec2_list, NULL); + err = i915_gem_do_execbuffer(dev, file, &exec2, exec2_list); if (exec2.flags & __EXEC_HAS_RELOC) { struct drm_i915_gem_exec_object __user *user_exec_list = u64_to_user_ptr(args->buffers_ptr); @@ -2838,7 +3043,6 @@ i915_gem_execbuffer2_ioctl(struct drm_device *dev, void *data, { struct drm_i915_gem_execbuffer2 *args = data; struct drm_i915_gem_exec_object2 *exec2_list; - struct drm_syncobj **fences = NULL; const size_t count = args->buffer_count; int err; @@ -2866,15 +3070,7 @@ i915_gem_execbuffer2_ioctl(struct drm_device *dev, void *data, return -EFAULT; } - if (args->flags & I915_EXEC_FENCE_ARRAY) { - fences = get_fence_array(args, file); - if (IS_ERR(fences)) { - kvfree(exec2_list); - return PTR_ERR(fences); - } - } - - err = i915_gem_do_execbuffer(dev, file, args, exec2_list, fences); + err = i915_gem_do_execbuffer(dev, file, args, exec2_list); /* * Now that we have begun execution of the batchbuffer, we ignore @@ -2914,7 +3110,6 @@ end:; } args->flags &= ~__I915_EXEC_UNKNOWN_FLAGS; - put_fence_array(args, fences); kvfree(exec2_list); return err; } diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index b5b2a64753e6..4db24f06f323 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -2851,7 +2851,8 @@ static struct drm_driver driver = { */ .driver_features = DRIVER_GEM | - DRIVER_RENDER | DRIVER_MODESET | DRIVER_ATOMIC | DRIVER_SYNCOBJ, + DRIVER_RENDER | DRIVER_MODESET | DRIVER_ATOMIC | DRIVER_SYNCOBJ | + DRIVER_SYNCOBJ_TIMELINE, .release = i915_driver_release, .open = i915_driver_open, .lastclose = i915_driver_lastclose, diff --git a/drivers/gpu/drm/i915/i915_getparam.c b/drivers/gpu/drm/i915/i915_getparam.c index 5d9101376a3d..da6faa84e5b8 100644 --- a/drivers/gpu/drm/i915/i915_getparam.c +++ b/drivers/gpu/drm/i915/i915_getparam.c @@ -130,6 +130,7 @@ int i915_getparam_ioctl(struct drm_device *dev, void *data, case I915_PARAM_HAS_EXEC_BATCH_FIRST: case I915_PARAM_HAS_EXEC_FENCE_ARRAY: case I915_PARAM_HAS_EXEC_SUBMIT_FENCE: + case I915_PARAM_HAS_EXEC_TIMELINE_FENCES: /* For the time being all of these are always true; * if some supported hardware does not have one of these * features this value needs to be provided from diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index 0a99c26730e1..3d031e81648b 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -611,6 +611,13 @@ typedef struct drm_i915_irq_wait { * See I915_EXEC_FENCE_OUT and I915_EXEC_FENCE_SUBMIT. */ #define I915_PARAM_HAS_EXEC_SUBMIT_FENCE 53 + +/* Query whether DRM_I915_GEM_EXECBUFFER2 supports supplying an array of + * timeline syncobj through drm_i915_gem_execbuf_ext_timeline_fences. See + * I915_EXEC_USE_EXTENSIONS. + */ +#define I915_PARAM_HAS_EXEC_TIMELINE_FENCES 54 + /* Must be kept compact -- no holes and well documented */ typedef struct drm_i915_getparam { @@ -1008,9 +1015,41 @@ struct drm_i915_gem_exec_fence { }; enum drm_i915_gem_execbuffer_ext { + /** + * See drm_i915_gem_execbuf_ext_timeline_fences. + */ + DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES = 1, + DRM_I915_GEM_EXECBUFFER_EXT_MAX /* non-ABI */ }; +/** + * This structure describes an array of drm_syncobj and associated points for + * timeline variants of drm_syncobj. It is invalid to append this structure to + * the execbuf if I915_EXEC_FENCE_ARRAY is set. + */ +struct drm_i915_gem_execbuffer_ext_timeline_fences { + struct i915_user_extension base; + + /** + * Number of element in the handles_ptr & value_ptr arrays. + */ + __u64 fence_count; + + /** + * Pointer to an array of struct drm_i915_gem_exec_fence of length + * fence_count. + */ + __u64 handles_ptr; + + /** + * Pointer to an array of u64 values of length fence_count. Values + * must be 0 for a binary drm_syncobj. A Value of 0 for a timeline + * drm_syncobj is invalid as it turns a drm_syncobj into a binary one. + */ + __u64 values_ptr; +}; + struct drm_i915_gem_execbuffer2 { /** * List of gem_exec_object2 structs -- 2.23.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 9+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: timeline semaphore support 2019-08-22 12:12 [PATCH v5 0/2] drm/i915: timeline semaphore support Lionel Landwerlin 2019-08-22 12:12 ` [PATCH v5 1/2] drm/i915: introduce a mechanism to extend execbuf2 Lionel Landwerlin 2019-08-22 12:12 ` [PATCH v5 2/2] drm/i915: add syncobj timeline support Lionel Landwerlin @ 2019-08-23 11:05 ` Patchwork 2019-08-23 11:31 ` ✓ Fi.CI.BAT: success " Patchwork ` (2 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2019-08-23 11:05 UTC (permalink / raw) To: Lionel Landwerlin; +Cc: intel-gfx == Series Details == Series: drm/i915: timeline semaphore support URL : https://patchwork.freedesktop.org/series/65688/ State : warning == Summary == $ dim checkpatch origin/drm-tip f6a396140592 drm/i915: introduce a mechanism to extend execbuf2 -:141: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV) #141: FILE: include/uapi/drm/i915_drm.h:1165: +#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_USE_EXTENSIONS<<1)) ^ total: 0 errors, 0 warnings, 1 checks, 113 lines checked fba596a50674 drm/i915: add syncobj timeline support -:25: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #25: https://lists.freedesktop.org/archives/dri-devel/2019-August/229287.html -:381: WARNING:TYPO_SPELLING: 'transfered' may be misspelled - perhaps 'transferred'? #381: FILE: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2588: + * The chain's ownership is transfered to the -:412: ERROR:CODE_INDENT: code indent should use tabs where possible #412: FILE: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2619: + [DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES] = parse_timeline_fences,$ -:412: WARNING:LEADING_SPACE: please, no spaces at the start of a line #412: FILE: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:2619: + [DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES] = parse_timeline_fences,$ total: 1 errors, 3 warnings, 0 checks, 541 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: timeline semaphore support 2019-08-22 12:12 [PATCH v5 0/2] drm/i915: timeline semaphore support Lionel Landwerlin ` (2 preceding siblings ...) 2019-08-23 11:05 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: timeline semaphore support Patchwork @ 2019-08-23 11:31 ` Patchwork 2019-08-24 6:42 ` ✓ Fi.CI.IGT: " Patchwork 2019-08-29 21:47 ` [PATCH v5 0/2] " Lionel Landwerlin 5 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2019-08-23 11:31 UTC (permalink / raw) To: Lionel Landwerlin; +Cc: intel-gfx == Series Details == Series: drm/i915: timeline semaphore support URL : https://patchwork.freedesktop.org/series/65688/ State : success == Summary == CI Bug Log - changes from CI_DRM_6775 -> Patchwork_14159 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/ Known issues ------------ Here are the changes found in Patchwork_14159 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_switch@legacy-render: - fi-bxt-dsi: [PASS][1] -> [INCOMPLETE][2] ([fdo#103927] / [fdo#111381]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-bxt-dsi/igt@gem_ctx_switch@legacy-render.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-bxt-dsi/igt@gem_ctx_switch@legacy-render.html * igt@kms_chamelium@dp-crc-fast: - fi-cml-u2: [PASS][3] -> [FAIL][4] ([fdo#110627]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - fi-blb-e6850: [PASS][5] -> [INCOMPLETE][6] ([fdo#107718]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-blb-e6850/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html #### Possible fixes #### * igt@gem_basic@bad-close: - fi-icl-u3: [DMESG-WARN][7] ([fdo#107724]) -> [PASS][8] +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-icl-u3/igt@gem_basic@bad-close.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-icl-u3/igt@gem_basic@bad-close.html * igt@kms_chamelium@dp-crc-fast: - fi-kbl-7500u: [FAIL][9] ([fdo#109635 ]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html #### Warnings #### * igt@gem_ctx_switch@legacy-render: - fi-gdg-551: [SKIP][11] ([fdo#109271]) -> [SKIP][12] ([fdo#109271] / [fdo#111381]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-gdg-551/igt@gem_ctx_switch@legacy-render.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-gdg-551/igt@gem_ctx_switch@legacy-render.html - fi-blb-e6850: [SKIP][13] ([fdo#109271]) -> [SKIP][14] ([fdo#109271] / [fdo#111381]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-blb-e6850/igt@gem_ctx_switch@legacy-render.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-blb-e6850/igt@gem_ctx_switch@legacy-render.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [FAIL][15] ([fdo#111407]) -> [FAIL][16] ([fdo#111096]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 [fdo#110627]: https://bugs.freedesktop.org/show_bug.cgi?id=110627 [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096 [fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381 [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407 Participating hosts (54 -> 47) ------------------------------ Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_6775 -> Patchwork_14159 CI-20190529: 20190529 CI_DRM_6775: 525ec65b2d3a225e71cd64c37b096cdb377f1101 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5148: 50390dd7adaccae21cafa85b866c17606cec94c3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_14159: fba596a506743edf607d03fce6591e2fa37835f9 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == fba596a50674 drm/i915: add syncobj timeline support f6a396140592 drm/i915: introduce a mechanism to extend execbuf2 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915: timeline semaphore support 2019-08-22 12:12 [PATCH v5 0/2] drm/i915: timeline semaphore support Lionel Landwerlin ` (3 preceding siblings ...) 2019-08-23 11:31 ` ✓ Fi.CI.BAT: success " Patchwork @ 2019-08-24 6:42 ` Patchwork 2019-08-29 21:47 ` [PATCH v5 0/2] " Lionel Landwerlin 5 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2019-08-24 6:42 UTC (permalink / raw) To: Lionel Landwerlin; +Cc: intel-gfx == Series Details == Series: drm/i915: timeline semaphore support URL : https://patchwork.freedesktop.org/series/65688/ State : success == Summary == CI Bug Log - changes from CI_DRM_6775_full -> Patchwork_14159_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_14159_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_schedule@independent-bsd2: - shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#109276]) +21 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb6/igt@gem_exec_schedule@independent-bsd2.html * igt@gem_exec_schedule@preemptive-hang-bsd: - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#111325]) +6 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb8/igt@gem_exec_schedule@preemptive-hang-bsd.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html * igt@gem_softpin@noreloc-s3: - shard-skl: [PASS][5] -> [INCOMPLETE][6] ([fdo#104108] / [fdo#107773]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl2/igt@gem_softpin@noreloc-s3.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl2/igt@gem_softpin@noreloc-s3.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-apl: [PASS][7] -> [DMESG-WARN][8] ([fdo#108566]) +5 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-apl5/igt@i915_suspend@fence-restore-tiled2untiled.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-apl8/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_cursor_crc@pipe-b-cursor-256x256-onscreen: - shard-skl: [PASS][9] -> [FAIL][10] ([fdo#103232]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-256x256-onscreen.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-256x256-onscreen.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-hsw: [PASS][11] -> [INCOMPLETE][12] ([fdo#103540]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-hsw1/igt@kms_flip@flip-vs-suspend-interruptible.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-hsw2/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc: - shard-skl: [PASS][13] -> [FAIL][14] ([fdo#108040]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt: - shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +4 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt: - shard-skl: [PASS][17] -> [FAIL][18] ([fdo#103167] / [fdo#110379]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl7/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl4/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc: - shard-skl: [PASS][19] -> [FAIL][20] ([fdo#103167]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min: - shard-skl: [PASS][21] -> [FAIL][22] ([fdo#108145]) +1 similar issue [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl3/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf: - shard-skl: [PASS][23] -> [DMESG-WARN][24] ([fdo#106885]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl3/igt@kms_plane_multiple@atomic-pipe-c-tiling-yf.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl1/igt@kms_plane_multiple@atomic-pipe-c-tiling-yf.html * igt@kms_psr@psr2_suspend: - shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109441]) +3 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb2/igt@kms_psr@psr2_suspend.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb6/igt@kms_psr@psr2_suspend.html * igt@kms_setmode@basic: - shard-kbl: [PASS][27] -> [FAIL][28] ([fdo#99912]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-kbl7/igt@kms_setmode@basic.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-kbl3/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-c-wait-forked-busy-hang: - shard-apl: [PASS][29] -> [INCOMPLETE][30] ([fdo#103927]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-apl7/igt@kms_vblank@pipe-c-wait-forked-busy-hang.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-apl2/igt@kms_vblank@pipe-c-wait-forked-busy-hang.html * igt@perf@blocking: - shard-skl: [PASS][31] -> [FAIL][32] ([fdo#110728]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl1/igt@perf@blocking.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl1/igt@perf@blocking.html #### Possible fixes #### * igt@gem_exec_parallel@rcs0-contexts: - shard-hsw: [FAIL][33] -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-hsw6/igt@gem_exec_parallel@rcs0-contexts.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-hsw1/igt@gem_exec_parallel@rcs0-contexts.html * igt@gem_exec_schedule@in-order-bsd: - shard-iclb: [SKIP][35] ([fdo#111325]) -> [PASS][36] +3 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb1/igt@gem_exec_schedule@in-order-bsd.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb3/igt@gem_exec_schedule@in-order-bsd.html * igt@gem_exec_schedule@preempt-hang-render: - shard-iclb: [INCOMPLETE][37] ([fdo#107713]) -> [PASS][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@gem_exec_schedule@preempt-hang-render.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb4/igt@gem_exec_schedule@preempt-hang-render.html * igt@gem_exec_schedule@preempt-queue-bsd2: - shard-iclb: [SKIP][39] ([fdo#109276]) -> [PASS][40] +12 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@gem_exec_schedule@preempt-queue-bsd2.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd2.html * igt@i915_pm_backlight@fade_with_suspend: - shard-skl: [INCOMPLETE][41] ([fdo#104108]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl7/igt@i915_pm_backlight@fade_with_suspend.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl5/igt@i915_pm_backlight@fade_with_suspend.html * igt@i915_suspend@debugfs-reader: - shard-apl: [DMESG-WARN][43] ([fdo#108566]) -> [PASS][44] +1 similar issue [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-apl1/igt@i915_suspend@debugfs-reader.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-apl2/igt@i915_suspend@debugfs-reader.html * igt@kms_flip@flip-vs-expired-vblank: - shard-glk: [FAIL][45] ([fdo#105363]) -> [PASS][46] +1 similar issue [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-glk9/igt@kms_flip@flip-vs-expired-vblank.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-glk7/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt: - shard-iclb: [FAIL][47] ([fdo#103167]) -> [PASS][48] +3 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [FAIL][49] ([fdo#108145] / [fdo#110403]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_plane_lowres@pipe-a-tiling-x: - shard-iclb: [FAIL][51] ([fdo#103166]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@kms_plane_lowres@pipe-a-tiling-x.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-x.html * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: [SKIP][53] ([fdo#109441]) -> [PASS][54] +2 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb4/igt@kms_psr@psr2_primary_page_flip.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv: - shard-iclb: [SKIP][55] ([fdo#109276]) -> [FAIL][56] ([fdo#111329]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@gem_ctx_isolation@vcs1-nonpriv.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html * igt@gem_mocs_settings@mocs-isolation-bsd2: - shard-iclb: [SKIP][57] ([fdo#109276]) -> [FAIL][58] ([fdo#111330]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb3/igt@gem_mocs_settings@mocs-isolation-bsd2.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb2/igt@gem_mocs_settings@mocs-isolation-bsd2.html * igt@gem_mocs_settings@mocs-settings-bsd2: - shard-iclb: [FAIL][59] ([fdo#111330]) -> [SKIP][60] ([fdo#109276]) +1 similar issue [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb2/igt@gem_mocs_settings@mocs-settings-bsd2.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb3/igt@gem_mocs_settings@mocs-settings-bsd2.html * igt@gem_tiled_swapping@non-threaded: - shard-skl: [SKIP][61] ([fdo#109271]) -> [FAIL][62] ([fdo#108686]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl10/igt@gem_tiled_swapping@non-threaded.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-skl9/igt@gem_tiled_swapping@non-threaded.html * igt@kms_dp_dsc@basic-dsc-enable-edp: - shard-iclb: [SKIP][63] ([fdo#109349]) -> [DMESG-WARN][64] ([fdo#107724]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb3/igt@kms_dp_dsc@basic-dsc-enable-edp.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232 [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540 [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363 [fdo#106885]: https://bugs.freedesktop.org/show_bug.cgi?id=106885 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773 [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#110379]: https://bugs.freedesktop.org/show_bug.cgi?id=110379 [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403 [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728 [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325 [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329 [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330 [fdo#111473 ]: https://bugs.freedesktop.org/show_bug.cgi?id=111473 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_6775 -> Patchwork_14159 CI-20190529: 20190529 CI_DRM_6775: 525ec65b2d3a225e71cd64c37b096cdb377f1101 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5148: 50390dd7adaccae21cafa85b866c17606cec94c3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_14159: fba596a506743edf607d03fce6591e2fa37835f9 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14159/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 0/2] drm/i915: timeline semaphore support 2019-08-22 12:12 [PATCH v5 0/2] drm/i915: timeline semaphore support Lionel Landwerlin ` (4 preceding siblings ...) 2019-08-24 6:42 ` ✓ Fi.CI.IGT: " Patchwork @ 2019-08-29 21:47 ` Lionel Landwerlin 5 siblings, 0 replies; 9+ messages in thread From: Lionel Landwerlin @ 2019-08-29 21:47 UTC (permalink / raw) To: intel-gfx; +Cc: Lahtinen, Joonas FYI, apart from a couple of pre-existing issues, the Mesa series that makes use of this i915 change is reviewed : https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1525 Cheers, -Lionel On 22/08/2019 15:12, Lionel Landwerlin wrote: > Hi, > > Just fiddling with enums to avoid default 0 values as recommended by > Jason. > > Cheers, > > Lionel Landwerlin (2): > drm/i915: introduce a mechanism to extend execbuf2 > drm/i915: add syncobj timeline support > > .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 346 +++++++++++++++--- > drivers/gpu/drm/i915/i915_drv.c | 3 +- > drivers/gpu/drm/i915/i915_getparam.c | 1 + > include/uapi/drm/i915_drm.h | 65 +++- > 4 files changed, 354 insertions(+), 61 deletions(-) > > -- > 2.23.0 > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 0/2] drm/i915: timeline semaphore support @ 2019-08-22 22:31 Lionel Landwerlin 2019-08-24 5:35 ` ✓ Fi.CI.IGT: success for " Patchwork 0 siblings, 1 reply; 9+ messages in thread From: Lionel Landwerlin @ 2019-08-22 22:31 UTC (permalink / raw) To: intel-gfx Hi, Just fiddling with enums to avoid default 0 values as recommended by Jason. Cheers, Lionel Landwerlin (2): drm/i915: introduce a mechanism to extend execbuf2 drm/i915: add syncobj timeline support .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 346 +++++++++++++++--- drivers/gpu/drm/i915/i915_drv.c | 3 +- drivers/gpu/drm/i915/i915_getparam.c | 1 + include/uapi/drm/i915_drm.h | 65 +++- 4 files changed, 354 insertions(+), 61 deletions(-) -- 2.23.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915: timeline semaphore support 2019-08-22 22:31 Lionel Landwerlin @ 2019-08-24 5:35 ` Patchwork 0 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2019-08-24 5:35 UTC (permalink / raw) To: Lionel Landwerlin; +Cc: intel-gfx == Series Details == Series: drm/i915: timeline semaphore support URL : https://patchwork.freedesktop.org/series/65681/ State : success == Summary == CI Bug Log - changes from CI_DRM_6775_full -> Patchwork_14156_full ==================================================== Summary ------- **WARNING** Minor unknown changes coming with Patchwork_14156_full need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_14156_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_14156_full: ### IGT changes ### #### Warnings #### * igt@gem_exec_parallel@contexts: - shard-hsw: [FAIL][1] ([fdo#111469]) -> [TIMEOUT][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-hsw6/igt@gem_exec_parallel@contexts.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-hsw2/igt@gem_exec_parallel@contexts.html Known issues ------------ Here are the changes found in Patchwork_14156_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_schedule@preempt-queue-bsd1: - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276]) +15 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb4/igt@gem_exec_schedule@preempt-queue-bsd1.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb7/igt@gem_exec_schedule@preempt-queue-bsd1.html * igt@gem_exec_schedule@wide-bsd: - shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#111325]) +3 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@gem_exec_schedule@wide-bsd.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb2/igt@gem_exec_schedule@wide-bsd.html * igt@gem_tiled_wb: - shard-glk: [PASS][7] -> [INCOMPLETE][8] ([fdo#103359] / [k.org#198133]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-glk3/igt@gem_tiled_wb.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-glk2/igt@gem_tiled_wb.html * igt@i915_pm_rpm@universal-planes-dpms: - shard-iclb: [PASS][9] -> [INCOMPLETE][10] ([fdo#107713] / [fdo#108840]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb8/igt@i915_pm_rpm@universal-planes-dpms.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb1/igt@i915_pm_rpm@universal-planes-dpms.html * igt@i915_selftest@live_hangcheck: - shard-iclb: [PASS][11] -> [INCOMPLETE][12] ([fdo#107713] / [fdo#108569]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb1/igt@i915_selftest@live_hangcheck.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb2/igt@i915_selftest@live_hangcheck.html * igt@kms_flip@plain-flip-fb-recreate: - shard-skl: [PASS][13] -> [FAIL][14] ([fdo#100368]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl9/igt@kms_flip@plain-flip-fb-recreate.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-skl4/igt@kms_flip@plain-flip-fb-recreate.html * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw: - shard-iclb: [PASS][15] -> [FAIL][16] ([fdo#103167]) +6 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb5/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-skl: [PASS][17] -> [INCOMPLETE][18] ([fdo#104108]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl9/igt@kms_frontbuffer_tracking@fbc-suspend.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-skl7/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min: - shard-skl: [PASS][19] -> [FAIL][20] ([fdo#108145]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl8/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-skl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html * igt@kms_psr@psr2_suspend: - shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +3 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb2/igt@kms_psr@psr2_suspend.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb8/igt@kms_psr@psr2_suspend.html * igt@kms_setmode@basic: - shard-kbl: [PASS][23] -> [FAIL][24] ([fdo#99912]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-kbl7/igt@kms_setmode@basic.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-kbl7/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-apl: [PASS][25] -> [DMESG-WARN][26] ([fdo#108566]) +6 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-apl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-apl1/igt@kms_vblank@pipe-a-ts-continuation-suspend.html * igt@perf@blocking: - shard-skl: [PASS][27] -> [FAIL][28] ([fdo#110728]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl1/igt@perf@blocking.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-skl3/igt@perf@blocking.html #### Possible fixes #### * igt@gem_exec_parallel@rcs0-contexts: - shard-hsw: [FAIL][29] -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-hsw6/igt@gem_exec_parallel@rcs0-contexts.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-hsw5/igt@gem_exec_parallel@rcs0-contexts.html * igt@gem_exec_schedule@in-order-bsd: - shard-iclb: [SKIP][31] ([fdo#111325]) -> [PASS][32] +2 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb1/igt@gem_exec_schedule@in-order-bsd.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb3/igt@gem_exec_schedule@in-order-bsd.html * igt@gem_exec_schedule@preempt-hang-render: - shard-iclb: [INCOMPLETE][33] ([fdo#107713]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@gem_exec_schedule@preempt-hang-render.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb6/igt@gem_exec_schedule@preempt-hang-render.html * igt@gem_exec_schedule@preempt-queue-bsd2: - shard-iclb: [SKIP][35] ([fdo#109276]) -> [PASS][36] +10 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@gem_exec_schedule@preempt-queue-bsd2.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd2.html * igt@i915_pm_backlight@fade_with_suspend: - shard-skl: [INCOMPLETE][37] ([fdo#104108]) -> [PASS][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-skl7/igt@i915_pm_backlight@fade_with_suspend.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-skl10/igt@i915_pm_backlight@fade_with_suspend.html * igt@i915_suspend@sysfs-reader: - shard-apl: [DMESG-WARN][39] ([fdo#108566]) -> [PASS][40] +4 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-apl2/igt@i915_suspend@sysfs-reader.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-apl1/igt@i915_suspend@sysfs-reader.html * igt@kms_flip@flip-vs-expired-vblank: - shard-glk: [FAIL][41] ([fdo#105363]) -> [PASS][42] +1 similar issue [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-glk9/igt@kms_flip@flip-vs-expired-vblank.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-glk2/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite: - shard-iclb: [FAIL][43] ([fdo#103167]) -> [PASS][44] +5 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_plane_lowres@pipe-a-tiling-x: - shard-iclb: [FAIL][45] ([fdo#103166]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@kms_plane_lowres@pipe-a-tiling-x.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb5/igt@kms_plane_lowres@pipe-a-tiling-x.html * igt@kms_psr@psr2_dpms: - shard-iclb: [SKIP][47] ([fdo#109441]) -> [PASS][48] +1 similar issue [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb7/igt@kms_psr@psr2_dpms.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb2/igt@kms_psr@psr2_dpms.html * igt@kms_setmode@basic: - shard-apl: [FAIL][49] ([fdo#99912]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-apl2/igt@kms_setmode@basic.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-apl1/igt@kms_setmode@basic.html #### Warnings #### * igt@gem_mocs_settings@mocs-reset-bsd2: - shard-iclb: [SKIP][51] ([fdo#109276]) -> [FAIL][52] ([fdo#111330]) +1 similar issue [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6775/shard-iclb6/igt@gem_mocs_settings@mocs-reset-bsd2.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/shard-iclb4/igt@gem_mocs_settings@mocs-reset-bsd2.html [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368 [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728 [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325 [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330 [fdo#111469]: https://bugs.freedesktop.org/show_bug.cgi?id=111469 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133 Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_6775 -> Patchwork_14156 CI-20190529: 20190529 CI_DRM_6775: 525ec65b2d3a225e71cd64c37b096cdb377f1101 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5148: 50390dd7adaccae21cafa85b866c17606cec94c3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_14156: 191c5ab7e58a2c61c8f967f9b1114aa42378cb3d @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14156/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 0/2] drm/i915: timeline semaphore support @ 2019-05-23 11:46 Lionel Landwerlin 2019-05-25 0:59 ` ✓ Fi.CI.IGT: success for " Patchwork 0 siblings, 1 reply; 9+ messages in thread From: Lionel Landwerlin @ 2019-05-23 11:46 UTC (permalink / raw) To: intel-gfx Hi all, This series implement required changes to support Vulkan timeline semaphores. Mesa's Anv driver will make use of this, unfortunately we can't disclose the userspace changes yet. Hoping we can bend the rules a bit (like for the drm-syncobj changes landed already), so that we can be compliant on the first day the Vulkan spec is released. Cheers, Lionel Landwerlin (2): drm/syncobj: add an output syncobj parameter to find_fence drm/i915: add syncobj timeline support drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 +- drivers/gpu/drm/drm_syncobj.c | 45 +++-- drivers/gpu/drm/i915/i915_drv.c | 4 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 190 ++++++++++++++++----- drivers/gpu/drm/v3d/v3d_gem.c | 5 +- include/drm/drm_syncobj.h | 1 + include/uapi/drm/i915_drm.h | 38 ++++- 7 files changed, 220 insertions(+), 67 deletions(-) -- 2.21.0.392.gf8f6787159e _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915: timeline semaphore support 2019-05-23 11:46 [PATCH 0/2] " Lionel Landwerlin @ 2019-05-25 0:59 ` Patchwork 0 siblings, 0 replies; 9+ messages in thread From: Patchwork @ 2019-05-25 0:59 UTC (permalink / raw) To: Lionel Landwerlin; +Cc: intel-gfx == Series Details == Series: drm/i915: timeline semaphore support URL : https://patchwork.freedesktop.org/series/61032/ State : success == Summary == CI Bug Log - changes from CI_DRM_6132_full -> Patchwork_13078_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_13078_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@rcs0-s3: - shard-apl: [PASS][1] -> [DMESG-WARN][2] ([fdo#108566]) +4 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-apl5/igt@gem_ctx_isolation@rcs0-s3.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-apl1/igt@gem_ctx_isolation@rcs0-s3.html * igt@gem_exec_schedule@wide-render: - shard-iclb: [PASS][3] -> [INCOMPLETE][4] ([fdo#107713] / [fdo#110338 ]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-iclb8/igt@gem_exec_schedule@wide-render.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-iclb8/igt@gem_exec_schedule@wide-render.html * igt@gem_tiled_swapping@non-threaded: - shard-glk: [PASS][5] -> [DMESG-WARN][6] ([fdo#108686]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-glk5/igt@gem_tiled_swapping@non-threaded.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-glk1/igt@gem_tiled_swapping@non-threaded.html * igt@i915_pm_rpm@reg-read-ioctl: - shard-skl: [PASS][7] -> [INCOMPLETE][8] ([fdo#107807]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-skl6/igt@i915_pm_rpm@reg-read-ioctl.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-skl5/igt@i915_pm_rpm@reg-read-ioctl.html * igt@i915_pm_rpm@system-suspend: - shard-kbl: [PASS][9] -> [INCOMPLETE][10] ([fdo#103665] / [fdo#107807]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-kbl6/igt@i915_pm_rpm@system-suspend.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-kbl6/igt@i915_pm_rpm@system-suspend.html * igt@kms_flip@2x-flip-vs-absolute-wf_vblank: - shard-hsw: [PASS][11] -> [SKIP][12] ([fdo#109271]) +30 similar issues [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-hsw8/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-hsw5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite: - shard-iclb: [PASS][13] -> [FAIL][14] ([fdo#103167]) +3 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_lease@cursor_implicit_plane: - shard-snb: [PASS][15] -> [SKIP][16] ([fdo#109271]) +2 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-snb1/igt@kms_lease@cursor_implicit_plane.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-snb5/igt@kms_lease@cursor_implicit_plane.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-snb: [PASS][17] -> [DMESG-WARN][18] ([fdo#102365]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-snb4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-snb2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min: - shard-skl: [PASS][19] -> [FAIL][20] ([fdo#108145]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-skl7/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-skl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html * igt@kms_setmode@basic: - shard-kbl: [PASS][21] -> [FAIL][22] ([fdo#99912]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-kbl2/igt@kms_setmode@basic.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-kbl3/igt@kms_setmode@basic.html #### Possible fixes #### * igt@gem_ctx_isolation@vecs0-s3: - shard-apl: [DMESG-WARN][23] ([fdo#108566]) -> [PASS][24] +3 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-apl7/igt@gem_ctx_isolation@vecs0-s3.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-apl3/igt@gem_ctx_isolation@vecs0-s3.html * igt@gem_softpin@noreloc-s3: - shard-skl: [INCOMPLETE][25] ([fdo#104108]) -> [PASS][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-skl5/igt@gem_softpin@noreloc-s3.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-skl5/igt@gem_softpin@noreloc-s3.html * igt@kms_flip_tiling@flip-to-y-tiled: - shard-iclb: [FAIL][27] ([fdo#107931] / [fdo#108134]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-iclb3/igt@kms_flip_tiling@flip-to-y-tiled.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-iclb3/igt@kms_flip_tiling@flip-to-y-tiled.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render: - shard-iclb: [FAIL][29] ([fdo#103167]) -> [PASS][30] +2 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move: - shard-hsw: [SKIP][31] ([fdo#109271]) -> [PASS][32] +13 similar issues [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-hsw5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-hsw7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [SKIP][33] ([fdo#109441]) -> [PASS][34] +1 similar issue [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-iclb5/igt@kms_psr@psr2_sprite_plane_move.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html #### Warnings #### * igt@gem_mmap_gtt@forked-big-copy-odd: - shard-iclb: [INCOMPLETE][35] ([fdo#107713] / [fdo#109100]) -> [TIMEOUT][36] ([fdo#109673]) +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-iclb2/igt@gem_mmap_gtt@forked-big-copy-odd.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-iclb4/igt@gem_mmap_gtt@forked-big-copy-odd.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move: - shard-skl: [FAIL][37] ([fdo#108040]) -> [FAIL][38] ([fdo#103167]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-skl3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-skl5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html * igt@prime_vgem@busy-bsd1: - shard-snb: [FAIL][39] -> [INCOMPLETE][40] ([fdo#105411]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6132/shard-snb2/igt@prime_vgem@busy-bsd1.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/shard-snb1/igt@prime_vgem@busy-bsd1.html [fdo#102365]: https://bugs.freedesktop.org/show_bug.cgi?id=102365 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108 [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807 [fdo#107931]: https://bugs.freedesktop.org/show_bug.cgi?id=107931 [fdo#108040]: https://bugs.freedesktop.org/show_bug.cgi?id=108040 [fdo#108134]: https://bugs.freedesktop.org/show_bug.cgi?id=108134 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686 [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673 [fdo#110338 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110338 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * Linux: CI_DRM_6132 -> Patchwork_13078 CI_DRM_6132: 78850b480c542b2e10da5a93afac2e13307909cb @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5010: 631f3ac2e78c8d6332afc693bf290ae23d8d5685 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_13078: a888c5f147aa7435dbc147b3b899b223389dc2dd @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13078/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-08-29 21:47 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-08-22 12:12 [PATCH v5 0/2] drm/i915: timeline semaphore support Lionel Landwerlin 2019-08-22 12:12 ` [PATCH v5 1/2] drm/i915: introduce a mechanism to extend execbuf2 Lionel Landwerlin 2019-08-22 12:12 ` [PATCH v5 2/2] drm/i915: add syncobj timeline support Lionel Landwerlin 2019-08-23 11:05 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: timeline semaphore support Patchwork 2019-08-23 11:31 ` ✓ Fi.CI.BAT: success " Patchwork 2019-08-24 6:42 ` ✓ Fi.CI.IGT: " Patchwork 2019-08-29 21:47 ` [PATCH v5 0/2] " Lionel Landwerlin -- strict thread matches above, loose matches on Subject: below -- 2019-08-22 22:31 Lionel Landwerlin 2019-08-24 5:35 ` ✓ Fi.CI.IGT: success for " Patchwork 2019-05-23 11:46 [PATCH 0/2] " Lionel Landwerlin 2019-05-25 0:59 ` ✓ Fi.CI.IGT: success for " Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.