From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5B6CB10E778 for ; Thu, 30 Nov 2023 20:07:23 +0000 (UTC) Date: Thu, 30 Nov 2023 15:07:12 -0500 From: Rodrigo Vivi To: Francois Dugast Message-ID: References: <20231130184536.7-1-francois.dugast@intel.com> <20231130184536.7-14-francois.dugast@intel.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20231130184536.7-14-francois.dugast@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH v5 13/21] drm-uapi/xe: Split xe_sync types from flags List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: igt-dev@lists.freedesktop.org Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: On Thu, Nov 30, 2023 at 06:45:28PM +0000, Francois Dugast wrote: > Align with commit ("drm/xe/uapi: Split xe_sync types from flags") > > Signed-off-by: Francois Dugast Reviewed-by: Rodrigo Vivi > --- > benchmarks/gem_wsim.c | 9 +++++---- > include/drm-uapi/xe_drm.h | 16 +++++++-------- > lib/intel_batchbuffer.c | 8 ++++---- > lib/intel_compute.c | 6 ++++-- > lib/intel_ctx.c | 4 ++-- > lib/xe/xe_ioctl.c | 3 ++- > lib/xe/xe_spin.c | 4 ++-- > lib/xe/xe_util.c | 4 ++-- > tests/intel/xe_dma_buf_sync.c | 4 ++-- > tests/intel/xe_drm_fdinfo.c | 4 ++-- > tests/intel/xe_evict.c | 6 +++--- > tests/intel/xe_exec_balancer.c | 10 +++++----- > tests/intel/xe_exec_basic.c | 4 ++-- > tests/intel/xe_exec_compute_mode.c | 5 +++-- > tests/intel/xe_exec_fault_mode.c | 2 +- > tests/intel/xe_exec_reset.c | 14 ++++++------- > tests/intel/xe_exec_store.c | 11 +++++----- > tests/intel/xe_exec_threads.c | 14 ++++++------- > tests/intel/xe_huc_copy.c | 3 ++- > tests/intel/xe_perf_pmu.c | 8 ++++---- > tests/intel/xe_pm.c | 4 ++-- > tests/intel/xe_pm_residency.c | 2 +- > tests/intel/xe_spin_batch.c | 3 ++- > tests/intel/xe_vm.c | 32 +++++++++++++++--------------- > tests/intel/xe_waitfence.c | 3 ++- > 25 files changed, 96 insertions(+), 87 deletions(-) > > diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c > index 514fa4ba7..66ad7563d 100644 > --- a/benchmarks/gem_wsim.c > +++ b/benchmarks/gem_wsim.c > @@ -1784,21 +1784,22 @@ xe_alloc_step_batch(struct workload *wrk, struct w_step *w) > i = 0; > /* out fence */ > w->xe.syncs[i].handle = syncobj_create(fd, 0); > - w->xe.syncs[i++].flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL; > + w->xe.syncs[i++].type = DRM_XE_SYNC_TYPE_SYNCOBJ; > + w->xe.syncs[i++].flags = DRM_XE_SYNC_FLAG_SIGNAL; > /* in fence(s) */ > for_each_dep(dep, w->data_deps) { > int dep_idx = w->idx + dep->target; > > igt_assert(wrk->steps[dep_idx].xe.syncs && wrk->steps[dep_idx].xe.syncs[0].handle); > w->xe.syncs[i].handle = wrk->steps[dep_idx].xe.syncs[0].handle; > - w->xe.syncs[i++].flags = DRM_XE_SYNC_FLAG_SYNCOBJ; > + w->xe.syncs[i++].type = DRM_XE_SYNC_TYPE_SYNCOBJ; > } > for_each_dep(dep, w->fence_deps) { > int dep_idx = w->idx + dep->target; > > igt_assert(wrk->steps[dep_idx].xe.syncs && wrk->steps[dep_idx].xe.syncs[0].handle); > w->xe.syncs[i].handle = wrk->steps[dep_idx].xe.syncs[0].handle; > - w->xe.syncs[i++].flags = DRM_XE_SYNC_FLAG_SYNCOBJ; > + w->xe.syncs[i++].type = DRM_XE_SYNC_TYPE_SYNCOBJ; > } > w->xe.exec.syncs = to_user_pointer(w->xe.syncs); > } > @@ -2375,7 +2376,7 @@ static int xe_prepare_contexts(unsigned int id, struct workload *wrk) > if (w->type == SW_FENCE) { > w->xe.syncs = calloc(1, sizeof(struct drm_xe_sync)); > w->xe.syncs[0].handle = syncobj_create(fd, 0); > - w->xe.syncs[0].flags = DRM_XE_SYNC_FLAG_SYNCOBJ; > + w->xe.syncs[0].type = DRM_XE_SYNC_TYPE_SYNCOBJ; > } > > return 0; > diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h > index 55b3edc93..6f0586d40 100644 > --- a/include/drm-uapi/xe_drm.h > +++ b/include/drm-uapi/xe_drm.h > @@ -940,16 +940,16 @@ struct drm_xe_sync { > /** @extensions: Pointer to the first extension struct, if any */ > __u64 extensions; > > -#define DRM_XE_SYNC_FLAG_SYNCOBJ 0x0 > -#define DRM_XE_SYNC_FLAG_TIMELINE_SYNCOBJ 0x1 > -#define DRM_XE_SYNC_FLAG_DMA_BUF 0x2 > -#define DRM_XE_SYNC_FLAG_USER_FENCE 0x3 > -#define DRM_XE_SYNC_FLAG_SIGNAL 0x10 > +#define DRM_XE_SYNC_TYPE_SYNCOBJ 0x0 > +#define DRM_XE_SYNC_TYPE_TIMELINE_SYNCOBJ 0x1 > +#define DRM_XE_SYNC_TYPE_USER_FENCE 0x2 > + /** @type: Type of the this sync object */ > + __u32 type; > + > +#define DRM_XE_SYNC_FLAG_SIGNAL (1 << 0) > + /** @flags: Sync Flags */ > __u32 flags; > > - /** @pad: MBZ */ > - __u32 pad; > - > union { > __u32 handle; > > diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c > index c9fe744f5..472c88129 100644 > --- a/lib/intel_batchbuffer.c > +++ b/lib/intel_batchbuffer.c > @@ -1336,8 +1336,8 @@ static struct drm_xe_vm_bind_op *xe_alloc_bind_ops(struct intel_bb *ibb, > static void __unbind_xe_objects(struct intel_bb *ibb) > { > struct drm_xe_sync syncs[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > int ret; > > @@ -2340,8 +2340,8 @@ __xe_bb_exec(struct intel_bb *ibb, uint64_t flags, bool sync) > uint32_t engine = flags & (I915_EXEC_BSD_MASK | I915_EXEC_RING_MASK); > uint32_t engine_id; > struct drm_xe_sync syncs[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_vm_bind_op *bind_ops; > void *map; > diff --git a/lib/intel_compute.c b/lib/intel_compute.c > index dd921bf46..de797c6f7 100644 > --- a/lib/intel_compute.c > +++ b/lib/intel_compute.c > @@ -106,7 +106,8 @@ static void bo_execenv_bind(struct bo_execenv *execenv, > uint64_t alignment = xe_get_default_alignment(fd); > struct drm_xe_sync sync = { 0 }; > > - sync.flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL; > + sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ; > + sync.flags = DRM_XE_SYNC_FLAG_SIGNAL; > sync.handle = syncobj_create(fd, 0); > > for (int i = 0; i < entries; i++) { > @@ -162,7 +163,8 @@ static void bo_execenv_unbind(struct bo_execenv *execenv, > uint32_t vm = execenv->vm; > struct drm_xe_sync sync = { 0 }; > > - sync.flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL; > + sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ; > + sync.flags = DRM_XE_SYNC_FLAG_SIGNAL; > sync.handle = syncobj_create(fd, 0); > > for (int i = 0; i < entries; i++) { > diff --git a/lib/intel_ctx.c b/lib/intel_ctx.c > index f82564572..b43dd6391 100644 > --- a/lib/intel_ctx.c > +++ b/lib/intel_ctx.c > @@ -423,8 +423,8 @@ intel_ctx_t *intel_ctx_xe(int fd, uint32_t vm, uint32_t exec_queue, > int __intel_ctx_xe_exec(const intel_ctx_t *ctx, uint64_t ahnd, uint64_t bb_offset) > { > struct drm_xe_sync syncs[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .exec_queue_id = ctx->exec_queue, > diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c > index ace2376bb..c91bf25c4 100644 > --- a/lib/xe/xe_ioctl.c > +++ b/lib/xe/xe_ioctl.c > @@ -446,7 +446,8 @@ void xe_exec_sync(int fd, uint32_t exec_queue, uint64_t addr, > void xe_exec_wait(int fd, uint32_t exec_queue, uint64_t addr) > { > struct drm_xe_sync sync = { > - .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, > + .type = DRM_XE_SYNC_TYPE_SYNCOBJ, > + .flags = DRM_XE_SYNC_FLAG_SIGNAL, > .handle = syncobj_create(fd, 0), > }; > > diff --git a/lib/xe/xe_spin.c b/lib/xe/xe_spin.c > index 91bc6664d..deba06f73 100644 > --- a/lib/xe/xe_spin.c > +++ b/lib/xe/xe_spin.c > @@ -191,7 +191,7 @@ xe_spin_create(int fd, const struct igt_spin_factory *opt) > struct igt_spin *spin; > struct xe_spin *xe_spin; > struct drm_xe_sync sync = { > - .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, > + .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -289,7 +289,7 @@ void xe_cork_init(int fd, struct drm_xe_engine_class_instance *hwe, > uint32_t vm, bo, exec_queue, syncobj; > struct xe_spin *spin; > struct drm_xe_sync sync = { > - .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, > + .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/lib/xe/xe_util.c b/lib/xe/xe_util.c > index 53ae2099a..ba8eece71 100644 > --- a/lib/xe/xe_util.c > +++ b/lib/xe/xe_util.c > @@ -185,8 +185,8 @@ void xe_bind_unbind_async(int xe, uint32_t vm, uint32_t bind_engine, > { > struct drm_xe_vm_bind_op *bind_ops; > struct drm_xe_sync tabsyncs[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ, .handle = sync_in }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, .handle = sync_out }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .handle = sync_in }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, .handle = sync_out }, > }; > struct drm_xe_sync *syncs; > uint32_t num_binds = 0; > diff --git a/tests/intel/xe_dma_buf_sync.c b/tests/intel/xe_dma_buf_sync.c > index dfa957243..eca3a5e95 100644 > --- a/tests/intel/xe_dma_buf_sync.c > +++ b/tests/intel/xe_dma_buf_sync.c > @@ -145,8 +145,8 @@ test_export_dma_buf(struct drm_xe_engine_class_instance *hwe0, > uint64_t sdi_addr = addr + sdi_offset; > uint64_t spin_offset = (char *)&data[i]->spin - (char *)data[i]; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_drm_fdinfo.c b/tests/intel/xe_drm_fdinfo.c > index ec457b1c1..fd6c07410 100644 > --- a/tests/intel/xe_drm_fdinfo.c > +++ b/tests/intel/xe_drm_fdinfo.c > @@ -48,8 +48,8 @@ static void test_active(int fd, struct drm_xe_engine *engine) > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_evict.c b/tests/intel/xe_evict.c > index 2e2960b9b..5b06b8953 100644 > --- a/tests/intel/xe_evict.c > +++ b/tests/intel/xe_evict.c > @@ -38,8 +38,8 @@ test_evict(int fd, struct drm_xe_engine_class_instance *eci, > uint32_t bind_exec_queues[3] = { 0, 0, 0 }; > uint64_t addr = 0x100000000, base_addr = 0x100000000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -219,7 +219,7 @@ test_evict_cm(int fd, struct drm_xe_engine_class_instance *eci, > uint64_t addr = 0x100000000, base_addr = 0x100000000; > #define USER_FENCE_VALUE 0xdeadbeefdeadbeefull > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_USER_FENCE | DRM_XE_SYNC_FLAG_SIGNAL, > + { .type = DRM_XE_SYNC_TYPE_USER_FENCE, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > .timeline_value = USER_FENCE_VALUE }, > }; > struct drm_xe_exec exec = { > diff --git a/tests/intel/xe_exec_balancer.c b/tests/intel/xe_exec_balancer.c > index ea06c23cd..742724641 100644 > --- a/tests/intel/xe_exec_balancer.c > +++ b/tests/intel/xe_exec_balancer.c > @@ -37,8 +37,8 @@ static void test_all_active(int fd, int gt, int class) > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -177,8 +177,8 @@ test_exec(int fd, int gt, int class, int n_exec_queues, int n_execs, > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_syncs = 2, > @@ -401,7 +401,7 @@ test_cm(int fd, int gt, int class, int n_exec_queues, int n_execs, > uint64_t addr = 0x1a0000; > #define USER_FENCE_VALUE 0xdeadbeefdeadbeefull > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_USER_FENCE | DRM_XE_SYNC_FLAG_SIGNAL, > + { .type = DRM_XE_SYNC_TYPE_USER_FENCE, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > .timeline_value = USER_FENCE_VALUE }, > }; > struct drm_xe_exec exec = { > diff --git a/tests/intel/xe_exec_basic.c b/tests/intel/xe_exec_basic.c > index 46b9dc2e0..2defd1e35 100644 > --- a/tests/intel/xe_exec_basic.c > +++ b/tests/intel/xe_exec_basic.c > @@ -81,8 +81,8 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci, > int n_exec_queues, int n_execs, int n_vm, unsigned int flags) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_exec_compute_mode.c b/tests/intel/xe_exec_compute_mode.c > index a9f69deef..881f3829b 100644 > --- a/tests/intel/xe_exec_compute_mode.c > +++ b/tests/intel/xe_exec_compute_mode.c > @@ -88,8 +88,9 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci, > uint64_t addr = 0x1a0000; > #define USER_FENCE_VALUE 0xdeadbeefdeadbeefull > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_USER_FENCE | DRM_XE_SYNC_FLAG_SIGNAL, > - .timeline_value = USER_FENCE_VALUE }, > + { .type = DRM_XE_SYNC_TYPE_USER_FENCE, > + .flags = DRM_XE_SYNC_FLAG_SIGNAL, > + .timeline_value = USER_FENCE_VALUE }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_exec_fault_mode.c b/tests/intel/xe_exec_fault_mode.c > index 4c85fce76..228e7e44a 100644 > --- a/tests/intel/xe_exec_fault_mode.c > +++ b/tests/intel/xe_exec_fault_mode.c > @@ -107,7 +107,7 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci, > uint64_t addr = 0x1a0000; > #define USER_FENCE_VALUE 0xdeadbeefdeadbeefull > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_USER_FENCE | DRM_XE_SYNC_FLAG_SIGNAL, > + { .type = DRM_XE_SYNC_TYPE_USER_FENCE, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > .timeline_value = USER_FENCE_VALUE }, > }; > struct drm_xe_exec exec = { > diff --git a/tests/intel/xe_exec_reset.c b/tests/intel/xe_exec_reset.c > index 988e63438..b8f5c6fbc 100644 > --- a/tests/intel/xe_exec_reset.c > +++ b/tests/intel/xe_exec_reset.c > @@ -30,8 +30,8 @@ static void test_spin(int fd, struct drm_xe_engine_class_instance *eci) > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -141,8 +141,8 @@ test_balancer(int fd, int gt, int class, int n_exec_queues, int n_execs, > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_syncs = 2, > @@ -338,8 +338,8 @@ test_legacy_mode(int fd, struct drm_xe_engine_class_instance *eci, > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -504,7 +504,7 @@ test_compute_mode(int fd, struct drm_xe_engine_class_instance *eci, > uint64_t addr = 0x1a0000; > #define USER_FENCE_VALUE 0xdeadbeefdeadbeefull > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_USER_FENCE | DRM_XE_SYNC_FLAG_SIGNAL, > + { .type = DRM_XE_SYNC_TYPE_USER_FENCE, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > .timeline_value = USER_FENCE_VALUE }, > }; > struct drm_xe_exec exec = { > diff --git a/tests/intel/xe_exec_store.c b/tests/intel/xe_exec_store.c > index 2927214e3..dec8546a3 100644 > --- a/tests/intel/xe_exec_store.c > +++ b/tests/intel/xe_exec_store.c > @@ -55,7 +55,8 @@ static void store_dword_batch(struct data *data, uint64_t addr, int value) > static void store(int fd) > { > struct drm_xe_sync sync = { > - .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, > + .type = DRM_XE_SYNC_TYPE_SYNCOBJ, > + .flags = DRM_XE_SYNC_FLAG_SIGNAL, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -122,8 +123,8 @@ static void store_cachelines(int fd, struct drm_xe_engine_class_instance *eci, > unsigned int flags) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, } > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, } > }; > > struct drm_xe_exec exec = { > @@ -212,8 +213,8 @@ static void store_cachelines(int fd, struct drm_xe_engine_class_instance *eci, > static void store_all(int fd, int gt, int class) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, } > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, } > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_exec_threads.c b/tests/intel/xe_exec_threads.c > index 8a01b150d..9aa989ab5 100644 > --- a/tests/intel/xe_exec_threads.c > +++ b/tests/intel/xe_exec_threads.c > @@ -47,8 +47,8 @@ test_balancer(int fd, int gt, uint32_t vm, uint64_t addr, uint64_t userptr, > int class, int n_exec_queues, int n_execs, unsigned int flags) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_sync sync_all[MAX_N_EXEC_QUEUES]; > struct drm_xe_exec exec = { > @@ -126,7 +126,7 @@ test_balancer(int fd, int gt, uint32_t vm, uint64_t addr, uint64_t userptr, > &create), 0); > exec_queues[i] = create.exec_queue_id; > syncobjs[i] = syncobj_create(fd, 0); > - sync_all[i].flags = DRM_XE_SYNC_FLAG_SYNCOBJ; > + sync_all[i].type = DRM_XE_SYNC_TYPE_SYNCOBJ; > sync_all[i].handle = syncobjs[i]; > }; > exec.num_batch_buffer = flags & PARALLEL ? num_placements : 1; > @@ -255,7 +255,7 @@ test_compute_mode(int fd, uint32_t vm, uint64_t addr, uint64_t userptr, > { > #define USER_FENCE_VALUE 0xdeadbeefdeadbeefull > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_USER_FENCE | DRM_XE_SYNC_FLAG_SIGNAL, > + { .type = DRM_XE_SYNC_TYPE_USER_FENCE, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > .timeline_value = USER_FENCE_VALUE }, > }; > struct drm_xe_exec exec = { > @@ -459,8 +459,8 @@ test_legacy_mode(int fd, uint32_t vm, uint64_t addr, uint64_t userptr, > int n_execs, unsigned int flags) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_sync sync_all[MAX_N_EXEC_QUEUES]; > struct drm_xe_exec exec = { > @@ -539,7 +539,7 @@ test_legacy_mode(int fd, uint32_t vm, uint64_t addr, uint64_t userptr, > else > bind_exec_queues[i] = 0; > syncobjs[i] = syncobj_create(fd, 0); > - sync_all[i].flags = DRM_XE_SYNC_FLAG_SYNCOBJ; > + sync_all[i].type = DRM_XE_SYNC_TYPE_SYNCOBJ; > sync_all[i].handle = syncobjs[i]; > }; > > diff --git a/tests/intel/xe_huc_copy.c b/tests/intel/xe_huc_copy.c > index dbc5afc17..035d86ea8 100644 > --- a/tests/intel/xe_huc_copy.c > +++ b/tests/intel/xe_huc_copy.c > @@ -118,7 +118,8 @@ __test_huc_copy(int fd, uint32_t vm, struct drm_xe_engine_class_instance *hwe) > }; > > exec_queue = xe_exec_queue_create(fd, vm, hwe, 0); > - sync.flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL; > + sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ; > + sync.flags = DRM_XE_SYNC_FLAG_SIGNAL; > sync.handle = syncobj_create(fd, 0); > > for(int i = 0; i < BO_DICT_ENTRIES; i++) { > diff --git a/tests/intel/xe_perf_pmu.c b/tests/intel/xe_perf_pmu.c > index ba5488c48..42cf62729 100644 > --- a/tests/intel/xe_perf_pmu.c > +++ b/tests/intel/xe_perf_pmu.c > @@ -81,8 +81,8 @@ static void test_any_engine_busyness(int fd, struct drm_xe_engine_class_instance > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -185,8 +185,8 @@ static void test_engine_group_busyness(int fd, int gt, int class, const char *na > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c > index a8fc56e4b..c899bd67a 100644 > --- a/tests/intel/xe_pm.c > +++ b/tests/intel/xe_pm.c > @@ -231,8 +231,8 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci, > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_pm_residency.c b/tests/intel/xe_pm_residency.c > index 4f590c83c..5542f8fb4 100644 > --- a/tests/intel/xe_pm_residency.c > +++ b/tests/intel/xe_pm_residency.c > @@ -87,7 +87,7 @@ static void exec_load(int fd, struct drm_xe_engine_class_instance *hwe, unsigned > } *data; > > struct drm_xe_sync sync = { > - .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, > + .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > }; > > struct drm_xe_exec exec = { > diff --git a/tests/intel/xe_spin_batch.c b/tests/intel/xe_spin_batch.c > index 2e2a0ed0e..c75709c4e 100644 > --- a/tests/intel/xe_spin_batch.c > +++ b/tests/intel/xe_spin_batch.c > @@ -145,7 +145,8 @@ static void xe_spin_fixed_duration(int fd) > { > struct drm_xe_sync sync = { > .handle = syncobj_create(fd, 0), > - .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, > + .type = DRM_XE_SYNC_TYPE_SYNCOBJ, > + .flags = DRM_XE_SYNC_FLAG_SIGNAL, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c > index bfdff63f0..14cb34926 100644 > --- a/tests/intel/xe_vm.c > +++ b/tests/intel/xe_vm.c > @@ -275,7 +275,7 @@ static void test_partial_unbinds(int fd) > uint64_t addr = 0x1a0000; > > struct drm_xe_sync sync = { > - .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, > + .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, > .handle = syncobj_create(fd, 0), > }; > > @@ -315,7 +315,7 @@ static void unbind_all(int fd, int n_vmas) > uint32_t vm; > int i; > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > > vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_ASYNC_DEFAULT, 0); > @@ -391,8 +391,8 @@ shared_pte_page(int fd, struct drm_xe_engine_class_instance *eci, int n_bo, > uint32_t vm; > uint64_t addr = 0x1000 * 512; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_sync sync_all[MAX_N_EXEC_QUEUES + 1]; > struct drm_xe_exec exec = { > @@ -435,7 +435,7 @@ shared_pte_page(int fd, struct drm_xe_engine_class_instance *eci, int n_bo, > for (i = 0; i < n_exec_queues; i++) { > exec_queues[i] = xe_exec_queue_create(fd, vm, eci, 0); > syncobjs[i] = syncobj_create(fd, 0); > - sync_all[i].flags = DRM_XE_SYNC_FLAG_SYNCOBJ; > + sync_all[i].type = DRM_XE_SYNC_TYPE_SYNCOBJ; > sync_all[i].handle = syncobjs[i]; > }; > > @@ -578,8 +578,8 @@ test_bind_execqueues_independent(int fd, struct drm_xe_engine_class_instance *ec > uint32_t vm; > uint64_t addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -761,8 +761,8 @@ test_bind_array(int fd, struct drm_xe_engine_class_instance *eci, int n_execs, > uint32_t vm; > uint64_t addr = 0x1a0000, base_addr = 0x1a0000; > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -951,8 +951,8 @@ test_large_binds(int fd, struct drm_xe_engine_class_instance *eci, > unsigned int flags) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -1112,7 +1112,7 @@ static void *hammer_thread(void *tdata) > { > struct thread_data *t = tdata; > struct drm_xe_sync sync[1] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -1238,8 +1238,8 @@ test_munmap_style_unbind(int fd, struct drm_xe_engine_class_instance *eci, > unsigned int flags) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > @@ -1539,8 +1539,8 @@ test_mmap_style_bind(int fd, struct drm_xe_engine_class_instance *eci, > int unbind_n_pages, unsigned int flags) > { > struct drm_xe_sync sync[2] = { > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > - { .flags = DRM_XE_SYNC_FLAG_SYNCOBJ | DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > + { .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, }, > }; > struct drm_xe_exec exec = { > .num_batch_buffer = 1, > diff --git a/tests/intel/xe_waitfence.c b/tests/intel/xe_waitfence.c > index a902ad408..3be987954 100644 > --- a/tests/intel/xe_waitfence.c > +++ b/tests/intel/xe_waitfence.c > @@ -28,7 +28,8 @@ static void do_bind(int fd, uint32_t vm, uint32_t bo, uint64_t offset, > uint64_t addr, uint64_t size, uint64_t val) > { > struct drm_xe_sync sync[1] = {}; > - sync[0].flags = DRM_XE_SYNC_FLAG_USER_FENCE | DRM_XE_SYNC_FLAG_SIGNAL; > + sync[0].type = DRM_XE_SYNC_TYPE_USER_FENCE; > + sync[0].flags = DRM_XE_SYNC_FLAG_SIGNAL; > > sync[0].addr = to_user_pointer(&wait_fence); > sync[0].timeline_value = val; > -- > 2.34.1 >