Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: daniel@ffwll.ch
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores
Date: Wed, 29 Jul 2020 14:41:43 +0200	[thread overview]
Message-ID: <20200729124143.GM6419@phenom.ffwll.local> (raw)
In-Reply-To: <20200708132015.334750-2-lionel.g.landwerlin@intel.com>

On Wed, Jul 08, 2020 at 04:20:11PM +0300, Lionel Landwerlin wrote:
> To be updated with proper drm-next snapshot.

I'm assuming you'll respin this with the right sha1 once the kernel side
has made it into drm-next? With that

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  include/drm-uapi/i915_drm.h | 65 +++++++++++++++++++++++++++++++++++--
>  1 file changed, 62 insertions(+), 3 deletions(-)
> 
> diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
> index 2b55af13..6de897f0 100644
> --- a/include/drm-uapi/i915_drm.h
> +++ b/include/drm-uapi/i915_drm.h
> @@ -619,6 +619,13 @@ typedef struct drm_i915_irq_wait {
>   */
>  #define I915_PARAM_PERF_REVISION	54
>  
> +/* 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 55
> +
> +
>  /* Must be kept compact -- no holes and well documented */
>  
>  typedef struct drm_i915_getparam {
> @@ -1046,6 +1053,42 @@ struct drm_i915_gem_exec_fence {
>  	__u32 flags;
>  };
>  
> +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
> @@ -1062,8 +1105,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)
> @@ -1181,7 +1231,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.27.0
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2020-07-29 12:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-08 13:20 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-07-29 12:41   ` daniel [this message]
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 2/5] igt: add timeline test cases Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 3/5] tests/syncobj_timeline: add more timeline tests Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 4/5] tests/i915/exec_fence: add timeline fence tests Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 5/5] tests/i915/gem_exec_fence: add engine chaining tests Lionel Landwerlin
2020-07-08 14:01 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests: Add timeline semaphore tests Patchwork
2020-07-29 13:19 ` [igt-dev] [PATCH i-g-t 0/5] " daniel
  -- strict thread matches above, loose matches on Subject: below --
2020-07-31 13:41 Lionel Landwerlin
2020-07-31 13:41 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-08-03  9:00 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-08-03  9:00 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-08-03 13:58 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-08-03 13:58 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-08-04  8:50 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-08-04  8:50 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200729124143.GM6419@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox