Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Brost <matthew.brost@intel.com>
To: Francois Dugast <francois.dugast@intel.com>
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH v2 16/19] drm-uapi/xe: Remove bogus engine list from the wait_user_fence IOCTL
Date: Wed, 29 Nov 2023 09:13:53 +0000	[thread overview]
Message-ID: <ZWcA0Tpylm8dpeUb@DUT025-TGLU.fm.intel.com> (raw)
In-Reply-To: <20231122144406.6-17-francois.dugast@intel.com>

On Wed, Nov 22, 2023 at 02:44:03PM +0000, Francois Dugast wrote:
> Align with commit ("drm/xe/uapi: Remove bogus engine list from the
> wait_user_fence IOCTL")
> 
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>

Per Rodrigo and my comments on [1], I think some version of [1] should
be included in this series.

Matt 

[1] https://patchwork.freedesktop.org/patch/568464/?series=126549&rev=2

> ---
>  include/drm-uapi/xe_drm.h  | 17 ++---------------
>  lib/xe/xe_ioctl.c          |  8 ++------
>  tests/intel/xe_waitfence.c |  6 ------
>  3 files changed, 4 insertions(+), 27 deletions(-)
> 
> diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
> index 0b9047086..df510f87e 100644
> --- a/include/drm-uapi/xe_drm.h
> +++ b/include/drm-uapi/xe_drm.h
> @@ -961,8 +961,7 @@ struct drm_xe_wait_user_fence {
>  	/** @op: wait operation (type of comparison) */
>  	__u16 op;
>  
> -#define DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP	(1 << 0)	/* e.g. Wait on VM bind */
> -#define DRM_XE_UFENCE_WAIT_FLAG_ABSTIME	(1 << 1)
> +#define DRM_XE_UFENCE_WAIT_FLAG_ABSTIME	(1 << 0)
>  	/** @flags: wait flags */
>  	__u16 flags;
>  
> @@ -995,20 +994,8 @@ struct drm_xe_wait_user_fence {
>  	 */
>  	__s64 timeout;
>  
> -	/**
> -	 * @num_engines: number of engine instances to wait on, must be zero
> -	 * when DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP set
> -	 */
> -	__u64 num_engines;
> -
> -	/**
> -	 * @instances: user pointer to array of drm_xe_engine_class_instance to
> -	 * wait on, must be NULL when DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP set
> -	 */
> -	__u64 instances;
> -
>  	/** @reserved: Reserved */
> -	__u64 reserved[2];
> +	__u64 reserved[4];
>  };
>  
>  /**
> diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
> index db0ca6bc0..c7acfa860 100644
> --- a/lib/xe/xe_ioctl.c
> +++ b/lib/xe/xe_ioctl.c
> @@ -423,12 +423,10 @@ int64_t xe_wait_ufence(int fd, uint64_t *addr, uint64_t value,
>  	struct drm_xe_wait_user_fence wait = {
>  		.addr = to_user_pointer(addr),
>  		.op = DRM_XE_UFENCE_WAIT_OP_EQ,
> -		.flags = !eci ? DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP : 0,
> +		.flags = 0,
>  		.value = value,
>  		.mask = DRM_XE_UFENCE_WAIT_MASK_U64,
>  		.timeout = timeout,
> -		.num_engines = eci ? 1 :0,
> -		.instances = eci ? to_user_pointer(eci) : 0,
>  	};
>  
>  	igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_WAIT_USER_FENCE, &wait), 0);
> @@ -455,12 +453,10 @@ int64_t xe_wait_ufence_abstime(int fd, uint64_t *addr, uint64_t value,
>  	struct drm_xe_wait_user_fence wait = {
>  		.addr = to_user_pointer(addr),
>  		.op = DRM_XE_UFENCE_WAIT_OP_EQ,
> -		.flags = !eci ? DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP | DRM_XE_UFENCE_WAIT_FLAG_ABSTIME : 0,
> +		.flags = !eci ? DRM_XE_UFENCE_WAIT_FLAG_ABSTIME : 0,
>  		.value = value,
>  		.mask = DRM_XE_UFENCE_WAIT_MASK_U64,
>  		.timeout = timeout,
> -		.num_engines = eci ? 1 : 0,
> -		.instances = eci ? to_user_pointer(eci) : 0,
>  	};
>  	struct timespec ts;
>  
> diff --git a/tests/intel/xe_waitfence.c b/tests/intel/xe_waitfence.c
> index 6ea52bb5e..95d070f10 100644
> --- a/tests/intel/xe_waitfence.c
> +++ b/tests/intel/xe_waitfence.c
> @@ -127,8 +127,6 @@ invalid_flag(int fd)
>  		.value = 1,
>  		.mask = DRM_XE_UFENCE_WAIT_MASK_U64,
>  		.timeout = -1,
> -		.num_engines = 0,
> -		.instances = 0,
>  	};
>  
>  	uint32_t vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_ASYNC_DEFAULT, 0);
> @@ -152,8 +150,6 @@ invalid_ops(int fd)
>  		.value = 1,
>  		.mask = DRM_XE_UFENCE_WAIT_MASK_U64,
>  		.timeout = 1,
> -		.num_engines = 0,
> -		.instances = 0,
>  	};
>  
>  	uint32_t vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_ASYNC_DEFAULT, 0);
> @@ -177,8 +173,6 @@ invalid_engine(int fd)
>  		.value = 1,
>  		.mask = DRM_XE_UFENCE_WAIT_MASK_U64,
>  		.timeout = -1,
> -		.num_engines = 1,
> -		.instances = 0,
>  	};
>  
>  	uint32_t vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_ASYNC_DEFAULT, 0);
> -- 
> 2.34.1
> 

  reply	other threads:[~2023-11-29 16:15 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-22 14:43 [igt-dev] [PATCH v2 00/19] uAPI Alignment - Cleanup and future proof Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 01/19] drm-uapi/xe: Extend drm_xe_vm_bind_op Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 02/19] xe_ioctl: Converge bo_create to the most used version Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 03/19] xe_ioctl: Rename *xe_bo_create_flags to simply xe_bo_create Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 04/19] xe_query: Add missing include Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 05/19] xe_query: Kill visible_vram_if_possible Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 06/19] drm-uapi/xe: Separate bo_create placement from flags Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 07/19] xe: s/hw_engine/engine Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 08/19] drm-uapi/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 09/19] drm-uapi/xe: Reject bo creation of unaligned size Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 10/19] drm-uapi/xe: Align on a common way to return arrays (memory regions) Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 11/19] drm-uapi/xe: Align on a common way to return arrays (gt) Francois Dugast
2023-11-22 14:43 ` [igt-dev] [PATCH v2 12/19] drm-uapi/xe: Align on a common way to return arrays (engines) Francois Dugast
2023-11-22 14:44 ` [igt-dev] [PATCH v2 13/19] drm-uapi/xe: Split xe_sync types from flags Francois Dugast
2023-11-22 14:44 ` [igt-dev] [PATCH v2 14/19] drm-uapi/xe: Kill tile_mask Francois Dugast
2023-11-22 14:44 ` [igt-dev] [PATCH v2 15/19] drm-uapi/xe: Crystal Reference Clock updates Francois Dugast
2023-11-22 14:44 ` [igt-dev] [PATCH v2 16/19] drm-uapi/xe: Remove bogus engine list from the wait_user_fence IOCTL Francois Dugast
2023-11-29  9:13   ` Matthew Brost [this message]
2023-11-22 14:44 ` [igt-dev] [PATCH v2 17/19] drm-uapi/xe: Add Tile ID information to the GT info query Francois Dugast
2023-11-22 14:44 ` [igt-dev] [PATCH v2 18/19] drm-uapi/xe: Fix various struct padding for 64b alignment Francois Dugast
2023-11-22 14:44 ` [igt-dev] [PATCH v2 19/19] drm-uapi/xe: Move xe_exec after xe_exec_queue Francois Dugast
2023-11-22 19:29 ` [igt-dev] ✗ GitLab.Pipeline: warning for uAPI Alignment - Cleanup and future proof (rev3) Patchwork
2023-11-22 20:04 ` [igt-dev] ✗ Fi.CI.BAT: failure " Patchwork
2023-11-22 20:46 ` [igt-dev] ✗ CI.xeBAT: " Patchwork
2023-11-23  8:48 ` [igt-dev] [PATCH v2 00/19] uAPI Alignment - Cleanup and future proof Kamil Konieczny

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=ZWcA0Tpylm8dpeUb@DUT025-TGLU.fm.intel.com \
    --to=matthew.brost@intel.com \
    --cc=francois.dugast@intel.com \
    --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