public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: christoph.manszewski@intel.com,
	dominik.karol.piatkowski@intel.com, maciej.patelczyk@intel.com,
	jan.maslak@intel.com, zbigniew.kempczynski@intel.com,
	Mika Kuoppala <mika.kuoppala@linux.intel.com>
Subject: [PATCH i-g-t 05/21] eudebug: Remove metadata tests
Date: Mon, 12 Jan 2026 14:59:51 +0200	[thread overview]
Message-ID: <20260112130008.1649357-6-mika.kuoppala@linux.intel.com> (raw)
In-Reply-To: <20260112130008.1649357-1-mika.kuoppala@linux.intel.com>

Metadata will be reworked. Remove.

Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
---
 .../drm-uapi-experimental/xe_drm_eudebug.h    |  98 --------
 lib/xe/xe_eudebug.c                           | 184 +--------------
 lib/xe/xe_eudebug.h                           |  10 -
 tests/intel/xe_eudebug.c                      | 209 +-----------------
 tests/intel/xe_eudebug_online.c               |  87 --------
 5 files changed, 9 insertions(+), 579 deletions(-)

diff --git a/include/drm-uapi-experimental/xe_drm_eudebug.h b/include/drm-uapi-experimental/xe_drm_eudebug.h
index 5aeb6a7352..73e4f418f5 100644
--- a/include/drm-uapi-experimental/xe_drm_eudebug.h
+++ b/include/drm-uapi-experimental/xe_drm_eudebug.h
@@ -31,29 +31,6 @@ extern "C" {
 
 /* ... */
 
-struct drm_xe_vm_bind_op_ext_attach_debug {
-	/** @base: base user extension */
-	struct drm_xe_user_extension base;
-
-	/** @id: Debug object id from create metadata */
-	__u64 metadata_id;
-
-	/** @flags: Flags */
-	__u64 flags;
-
-	/** @cookie: Cookie */
-	__u64 cookie;
-
-	/** @reserved: Reserved */
-	__u64 reserved;
-};
-
-/* ... */
-
-#define XE_VM_BIND_OP_EXTENSIONS_ATTACH_DEBUG 0
-
-/* ... */
-
 #define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_EUDEBUG		3
 #define     DRM_XE_EXEC_QUEUE_EUDEBUG_FLAG_ENABLE		(1 << 0)
 
@@ -76,54 +53,6 @@ struct drm_xe_eudebug_connect {
 	__u32 version; /* output: current ABI (ioctl / events) version */
 };
 
-/*
- * struct drm_xe_debug_metadata_create - Create debug metadata
- *
- * Add a region of user memory to be marked as debug metadata.
- * When the debugger attaches, the metadata regions will be delivered
- * for debugger. Debugger can then map these regions to help decode
- * the program state.
- *
- * Returns handle to created metadata entry.
- */
-struct drm_xe_debug_metadata_create {
-	/** @extensions: Pointer to the first extension struct, if any */
-	__u64 extensions;
-
-#define DRM_XE_DEBUG_METADATA_ELF_BINARY     0
-#define DRM_XE_DEBUG_METADATA_PROGRAM_MODULE 1
-#define WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_MODULE_AREA 2
-#define WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_SBA_AREA 3
-#define WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_SIP_AREA 4
-#define WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM (1 + \
-	  WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_SIP_AREA)
-
-	/** @type: Type of metadata */
-	__u64 type;
-
-	/** @user_addr: pointer to start of the metadata */
-	__u64 user_addr;
-
-	/** @len: length, in bytes of the medata */
-	__u64 len;
-
-	/** @metadata_id: created metadata handle (out) */
-	__u32 metadata_id;
-};
-
-/**
- * struct drm_xe_debug_metadata_destroy - Destroy debug metadata
- *
- * Destroy debug metadata.
- */
-struct drm_xe_debug_metadata_destroy {
-	/** @extensions: Pointer to the first extension struct, if any */
-	__u64 extensions;
-
-	/** @metadata_id: metadata handle to destroy */
-	__u32 metadata_id;
-};
-
 /* XXX: END section moved from xe_drm.h as temporary solution */
 
 /**
@@ -309,33 +238,6 @@ struct drm_xe_eudebug_vm_open {
 	__u64 timeout_ns;
 };
 
-struct drm_xe_eudebug_read_metadata {
-	__u64 client_handle;
-	__u64 metadata_handle;
-	__u32 flags;
-	__u32 reserved;
-	__u64 ptr;
-	__u64 size;
-};
-
-struct drm_xe_eudebug_event_metadata {
-	struct drm_xe_eudebug_event base;
-
-	__u64 client_handle;
-	__u64 metadata_handle;
-	/* XXX: Refer to xe_drm.h for fields */
-	__u64 type;
-	__u64 len;
-};
-
-struct drm_xe_eudebug_event_vm_bind_op_metadata {
-	struct drm_xe_eudebug_event base;
-	__u64 vm_bind_op_ref_seqno; /* *_event_vm_bind_op.base.seqno */
-
-	__u64 metadata_handle;
-	__u64 metadata_cookie;
-};
-
 struct drm_xe_eudebug_event_pagefault {
 	struct drm_xe_eudebug_event base;
 
diff --git a/lib/xe/xe_eudebug.c b/lib/xe/xe_eudebug.c
index 31e4f9c486..0583ce8f31 100644
--- a/lib/xe/xe_eudebug.c
+++ b/lib/xe/xe_eudebug.c
@@ -92,10 +92,6 @@ static const char *type_to_str(unsigned int type)
 		return "vm_bind_op";
 	case DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE:
 		return "vm_bind_ufence";
-	case DRM_XE_EUDEBUG_EVENT_METADATA:
-		return "metadata";
-	case DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA:
-		return "vm_bind_op_metadata";
 	case DRM_XE_EUDEBUG_EVENT_PAGEFAULT:
 		return "pagefault";
 	}
@@ -183,20 +179,6 @@ static const char *event_members_to_str(struct drm_xe_eudebug_event *e, char *bu
 		sprintf(buf, "vm_bind_ref_seqno=%lld", f->vm_bind_ref_seqno);
 		break;
 	}
-	case DRM_XE_EUDEBUG_EVENT_METADATA: {
-		struct drm_xe_eudebug_event_metadata *em = igt_container_of(e, em, base);
-
-		sprintf(buf, "client_handle=%llu, metadata_handle=%llu, type=%llu, len=%llu",
-			em->client_handle, em->metadata_handle, em->type, em->len);
-		break;
-	}
-	case DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA: {
-		struct drm_xe_eudebug_event_vm_bind_op_metadata *op = igt_container_of(e, op, base);
-
-		sprintf(buf, "vm_bind_op_ref_seqno=%lld, metadata_handle=%llu, metadata_cookie=%llu",
-			op->vm_bind_op_ref_seqno, op->metadata_handle, op->metadata_cookie);
-		break;
-	}
 	case DRM_XE_EUDEBUG_EVENT_PAGEFAULT: {
 		struct drm_xe_eudebug_event_pagefault *pf = igt_container_of(e, pf, base);
 
@@ -505,16 +487,6 @@ static int match_fields(struct drm_xe_eudebug_event *a, void *data)
 			ret = 1;
 		break;
 	}
-	case DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA: {
-		struct drm_xe_eudebug_event_vm_bind_op_metadata *ea = igt_container_of(a, ea, base);
-		struct drm_xe_eudebug_event_vm_bind_op_metadata *eb = igt_container_of(b, eb, base);
-
-		if (ea->metadata_handle == eb->metadata_handle &&
-		    ea->metadata_cookie == eb->metadata_cookie)
-			ret = 1;
-		break;
-	}
-
 	default:
 		ret = 1;
 		break;
@@ -581,20 +553,6 @@ static int match_client_handle(struct drm_xe_eudebug_event *e, void *data)
 
 		break;
 	}
-	case DRM_XE_EUDEBUG_EVENT_METADATA: {
-		struct drm_xe_eudebug_event_metadata *em = igt_container_of(e, em, base);
-
-		if (em->client_handle == h)
-			return 1;
-		break;
-	}
-	case DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA: {
-		struct drm_xe_eudebug_event_vm_bind_op_metadata *eo = igt_container_of(e, eo, base);
-
-		if (eo->vm_bind_op_ref_seqno == *bind_op_seqno)
-			return 1;
-		break;
-	}
 	default:
 		break;
 	}
@@ -658,25 +616,6 @@ static int match_opposite_resource(struct drm_xe_eudebug_event *e, void *data)
 			return 1;
 		break;
 	}
-	case DRM_XE_EUDEBUG_EVENT_METADATA: {
-		struct drm_xe_eudebug_event_metadata *em = igt_container_of(e, em, base);
-		struct drm_xe_eudebug_event_metadata *filter = data;
-
-		if (em->metadata_handle == filter->metadata_handle)
-			return 1;
-		break;
-	}
-	case DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA: {
-		struct drm_xe_eudebug_event_vm_bind_op_metadata *avmb = igt_container_of(e, avmb,
-											 base);
-		struct drm_xe_eudebug_event_vm_bind_op_metadata *filter = data;
-
-		if (avmb->metadata_handle == filter->metadata_handle &&
-		    avmb->metadata_cookie == filter->metadata_cookie)
-			return 1;
-		break;
-	}
-
 	default:
 		break;
 	}
@@ -1071,8 +1010,7 @@ xe_eudebug_event_log_match_opposite(struct xe_eudebug_event_log *l, uint32_t fil
 
 			/* No opposite matching for binds */
 			if ((ev1->type >= DRM_XE_EUDEBUG_EVENT_VM_BIND &&
-			     ev1->type <= DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE) ||
-			    ev1->type == DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA)
+			     ev1->type <= DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE))
 				continue;
 
 			ev2 = opposite_event_match(l, ev1, ev1);
@@ -1850,22 +1788,6 @@ static void exec_queue_event(struct xe_eudebug_client *c, uint32_t flags,
 	xe_eudebug_event_log_write(c->log, (void *)&ee);
 }
 
-static void metadata_event(struct xe_eudebug_client *c, uint32_t flags,
-			   int client_fd, uint32_t id, uint64_t type, uint64_t len)
-{
-	struct drm_xe_eudebug_event_metadata em;
-
-	base_event(c, to_base(em), DRM_XE_EUDEBUG_EVENT_METADATA,
-		   flags, sizeof(em));
-
-	em.client_handle = client_fd;
-	em.metadata_handle = id;
-	em.type = type;
-	em.len = len;
-
-	xe_eudebug_event_log_write(c->log, (void *)&em);
-}
-
 /**
  * __xe_eudebug_enable_getset
  * @fd: xe client
@@ -1986,7 +1908,6 @@ void xe_eudebug_client_close_driver(struct xe_eudebug_client *c, int fd)
  * @ext: pointer to the first user extension
  *
  * Calls xe_vm_create() and logs corresponding events
- * (including vm set metadata events) in client's event log.
  *
  * Returns: valid vm handle
  */
@@ -2165,33 +2086,6 @@ void xe_eudebug_client_vm_bind_op_event(struct xe_eudebug_client *c, uint32_t ev
 	xe_eudebug_event_log_write(c->log, (void *)&op);
 }
 
-/**
- * xe_eudebug_client_vm_bind_op_metadata_event:
- * @c: pointer to xe_eudebug_client structure
- * @event_flags: base event flags
- * @op_ref_seqno: base vm bind op reference seqno
- * @metadata_handle: metadata handle
- * @metadata_cookie: metadata cookie
- *
- * Logs vm bind op metadata event in client's event log.
- */
-void xe_eudebug_client_vm_bind_op_metadata_event(struct xe_eudebug_client *c,
-						 uint32_t event_flags, uint64_t op_ref_seqno,
-						 uint64_t metadata_handle, uint64_t metadata_cookie)
-{
-	struct drm_xe_eudebug_event_vm_bind_op_metadata op;
-
-	igt_assert(c);
-
-	base_event(c, to_base(op), DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA,
-		   event_flags, sizeof(op));
-	op.vm_bind_op_ref_seqno = op_ref_seqno;
-	op.metadata_handle = metadata_handle;
-	op.metadata_cookie = metadata_cookie;
-
-	xe_eudebug_event_log_write(c->log, (void *)&op);
-}
-
 /**
  * xe_eudebug_client_vm_bind_ufence_event:
  * @c: pointer to xe_eudebug_client structure
@@ -2223,12 +2117,6 @@ static bool has_user_fence(const struct drm_xe_sync *sync, uint32_t num_syncs)
 	return false;
 }
 
-#define for_each_metadata(__m, __ext)					\
-	for ((__m) = from_user_pointer(__ext);				\
-	     (__m);							\
-	     (__m) = from_user_pointer((__m)->base.next_extension))	\
-		if ((__m)->base.name == XE_VM_BIND_OP_EXTENSIONS_ATTACH_DEBUG)
-
 static int  __xe_eudebug_client_vm_bind(struct xe_eudebug_client *c,
 					int fd, uint32_t vm, uint32_t exec_queue,
 					uint32_t bo, uint64_t offset,
@@ -2239,24 +2127,19 @@ static int  __xe_eudebug_client_vm_bind(struct xe_eudebug_client *c,
 					uint32_t prefetch_region,
 					uint8_t pat_index, uint64_t op_ext)
 {
-	struct drm_xe_vm_bind_op_ext_attach_debug *metadata;
 	const bool ufence = has_user_fence(sync, num_syncs);
 	const uint32_t bind_flags = ufence ?
 		DRM_XE_EUDEBUG_EVENT_VM_BIND_FLAG_UFENCE : 0;
-	uint64_t seqno = 0, op_seqno = 0, num_metadata = 0;
+	uint64_t seqno = 0, op_seqno = 0;
 	uint32_t bind_base_flags = 0;
 	int ret;
 
-	for_each_metadata(metadata, op_ext)
-		num_metadata++;
-
 	switch (op) {
 	case DRM_XE_VM_BIND_OP_MAP:
 		bind_base_flags = DRM_XE_EUDEBUG_EVENT_CREATE;
 		break;
 	case DRM_XE_VM_BIND_OP_UNMAP:
 		bind_base_flags = DRM_XE_EUDEBUG_EVENT_DESTROY;
-		igt_assert_eq(num_metadata, 0);
 		igt_assert_eq(ufence, false);
 		break;
 	default:
@@ -2278,15 +2161,8 @@ static int  __xe_eudebug_client_vm_bind(struct xe_eudebug_client *c,
 	xe_eudebug_client_vm_bind_event(c, DRM_XE_EUDEBUG_EVENT_STATE_CHANGE,
 					fd, vm, bind_flags, 1, &seqno);
 	xe_eudebug_client_vm_bind_op_event(c, bind_base_flags,
-					   seqno, &op_seqno, addr, size,
-					   num_metadata);
-
-	for_each_metadata(metadata, op_ext)
-		xe_eudebug_client_vm_bind_op_metadata_event(c,
-							    DRM_XE_EUDEBUG_EVENT_CREATE,
-							    op_seqno,
-							    metadata->metadata_id,
-							    metadata->cookie);
+					   seqno, &op_seqno, addr, size, 0);
+
 	if (ufence)
 		xe_eudebug_client_vm_bind_ufence_event(c, DRM_XE_EUDEBUG_EVENT_CREATE |
 						       DRM_XE_EUDEBUG_EVENT_NEED_ACK,
@@ -2413,58 +2289,6 @@ void xe_eudebug_client_vm_unbind(struct xe_eudebug_client *c, int fd, uint32_t v
 					  flags, sync, num_syncs);
 }
 
-/**
- * xe_eudebug_client_metadata_create:
- * @c: pointer to xe_eudebug_client structure
- * @fd: xe client
- * @type: debug metadata type
- * @len: size of @data
- * @data: debug metadata paylad
- *
- * Calls xe metadata create ioctl and logs the corresponding event in
- * client's event log.
- *
- * Return: valid debug metadata id.
- */
-uint32_t xe_eudebug_client_metadata_create(struct xe_eudebug_client *c, int fd,
-					   int type, size_t len, void *data)
-{
-	struct drm_xe_debug_metadata_create create = {
-		.type = type,
-		.user_addr = to_user_pointer(data),
-		.len = len
-	};
-
-	igt_assert(c);
-	igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEBUG_METADATA_CREATE, &create), 0);
-
-	metadata_event(c, DRM_XE_EUDEBUG_EVENT_CREATE, fd, create.metadata_id, type, len);
-
-	return create.metadata_id;
-}
-
-/**
- * xe_eudebug_client_metadata_destroy:
- * @c: pointer to xe_eudebug_client structure
- * @fd: xe client
- * @id: xe debug metadata handle
- * @type: debug metadata type
- * @len: size of debug metadata payload
- *
- * Calls xe metadata destroy ioctl and logs the corresponding event in
- * client's event log.
- */
-void xe_eudebug_client_metadata_destroy(struct xe_eudebug_client *c, int fd,
-					uint32_t id, int type, size_t len)
-{
-	struct drm_xe_debug_metadata_destroy destroy = { .metadata_id = id };
-
-	igt_assert(c);
-	igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEBUG_METADATA_DESTROY, &destroy), 0);
-
-	metadata_event(c, DRM_XE_EUDEBUG_EVENT_DESTROY, fd, id, type, len);
-}
-
 void xe_eudebug_ack_ufence(int debugfd,
 			   const struct drm_xe_eudebug_event_vm_bind_ufence *f)
 {
diff --git a/lib/xe/xe_eudebug.h b/lib/xe/xe_eudebug.h
index ef9dacf0d2..0706023121 100644
--- a/lib/xe/xe_eudebug.h
+++ b/lib/xe/xe_eudebug.h
@@ -170,8 +170,6 @@ next_event(struct drm_xe_eudebug_event *e, struct xe_eudebug_event_log *l)
 #define XE_EUDEBUG_FILTER_EVENT_VM_BIND			BIT(DRM_XE_EUDEBUG_EVENT_VM_BIND)
 #define XE_EUDEBUG_FILTER_EVENT_VM_BIND_OP		BIT(DRM_XE_EUDEBUG_EVENT_VM_BIND_OP)
 #define XE_EUDEBUG_FILTER_EVENT_VM_BIND_UFENCE		BIT(DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE)
-#define XE_EUDEBUG_FILTER_EVENT_METADATA		BIT(DRM_XE_EUDEBUG_EVENT_METADATA)
-#define XE_EUDEBUG_FILTER_EVENT_VM_BIND_OP_METADATA	BIT(DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA)
 #define XE_EUDEBUG_FILTER_EVENT_PAGEFAULT		BIT(DRM_XE_EUDEBUG_EVENT_PAGEFAULT)
 #define XE_EUDEBUG_FILTER_ALL				GENMASK(DRM_XE_EUDEBUG_EVENT_PAGEFAULT, 0)
 #define XE_EUDEBUG_EVENT_IS_FILTERED(_e, _f)		((1UL << (_e)) & (_f))
@@ -237,9 +235,6 @@ void xe_eudebug_client_vm_bind_op_event(struct xe_eudebug_client *c, uint32_t ev
 					uint64_t ref_seqno, uint64_t *op_ref_seqno,
 					uint64_t addr, uint64_t range,
 					uint64_t num_extensions);
-void xe_eudebug_client_vm_bind_op_metadata_event(struct xe_eudebug_client *c,
-						 uint32_t event_flags, uint64_t op_ref_seqno,
-						 uint64_t metadata_handle, uint64_t metadata_cookie);
 void xe_eudebug_client_vm_bind_ufence_event(struct xe_eudebug_client *c, uint32_t event_flags,
 					    uint64_t ref_seqno);
 void xe_eudebug_ack_ufence(int debugfd,
@@ -260,11 +255,6 @@ void xe_eudebug_client_vm_unbind_flags(struct xe_eudebug_client *c, int fd,
 void xe_eudebug_client_vm_unbind(struct xe_eudebug_client *c, int fd, uint32_t vm,
 				 uint64_t offset, uint64_t addr, uint64_t size);
 
-uint32_t xe_eudebug_client_metadata_create(struct xe_eudebug_client *c, int fd,
-					   int type, size_t len, void *data);
-void xe_eudebug_client_metadata_destroy(struct xe_eudebug_client *c, int fd,
-					uint32_t id, int type, size_t len);
-
 struct xe_eudebug_session *xe_eudebug_session_create(int fd,
 						     xe_eudebug_client_work_fn work,
 						     unsigned int flags,
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index 134f317668..55539638f0 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -60,73 +60,26 @@ static void test_sysfs_toggle(int fd)
 #define VM_BIND				(1 << 2)
 #define VM_BIND_VM_DESTROY		(1 << 3)
 #define VM_BIND_EXTENDED		(1 << 4)
-#define VM_METADATA			(1 << 5)
-#define VM_BIND_METADATA		(1 << 6)
-#define VM_BIND_OP_MAP_USERPTR		(1 << 7)
-#define VM_BIND_DELAY_UFENCE_ACK	(1 << 8)
-#define VM_BIND_UFENCE_RECONNECT	(1 << 9)
-#define VM_BIND_UFENCE_SIGINT_CLIENT	(1 << 10)
+#define VM_BIND_OP_MAP_USERPTR		(1 << 5)
+#define VM_BIND_DELAY_UFENCE_ACK	(1 << 6)
+#define VM_BIND_UFENCE_RECONNECT	(1 << 7)
+#define VM_BIND_UFENCE_SIGINT_CLIENT	(1 << 8)
 #define TEST_FAULTABLE			(1 << 30)
 #define TEST_DISCOVERY			(1 << 31)
 
 #define PAGE_SIZE SZ_4K
-#define MDATA_SIZE (WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM * PAGE_SIZE)
 
 #define BO_ADDR 0x1a0000
 
-static struct drm_xe_vm_bind_op_ext_attach_debug *
-basic_vm_bind_metadata_ext_prepare(int fd, struct xe_eudebug_client *c, uint8_t **data)
-{
-	const uint32_t data_size = MDATA_SIZE;
-	struct drm_xe_vm_bind_op_ext_attach_debug *ext;
-	int i;
-
-	*data = calloc(data_size, sizeof(**data));
-	igt_assert(*data);
-
-	for (i = 0; i < data_size; i++)
-		(*data)[i] = (i + i / PAGE_SIZE) % 256;
-
-	ext = calloc(WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM, sizeof(*ext));
-	igt_assert(ext);
-
-	for (i = 0; i < WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM; i++) {
-		ext[i].base.name = XE_VM_BIND_OP_EXTENSIONS_ATTACH_DEBUG;
-		ext[i].metadata_id = xe_eudebug_client_metadata_create(c, fd, i,
-								       (i + 1) * PAGE_SIZE, *data);
-		ext[i].cookie = i;
-
-		if (i < WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM - 1)
-			ext[i].base.next_extension = to_user_pointer(&ext[i + 1]);
-	}
-	return ext;
-}
-
-static void basic_vm_bind_metadata_ext_del(int fd, struct xe_eudebug_client *c,
-					   struct drm_xe_vm_bind_op_ext_attach_debug *ext,
-					   uint8_t *data)
-{
-	for (int i = 0; i < WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM; i++)
-		xe_eudebug_client_metadata_destroy(c, fd, ext[i].metadata_id, i,
-						   (i + 1) * PAGE_SIZE);
-	free(ext);
-	free(data);
-}
-
 static void basic_vm_bind_client(int fd, struct xe_eudebug_client *c)
 {
 	struct drm_xe_vm_bind_op_ext_attach_debug *ext = NULL;
 	uint32_t vm = xe_eudebug_client_vm_create(c, fd, DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
 	size_t bo_size = xe_get_default_alignment(fd);
 	bool test_discovery = c->flags & TEST_DISCOVERY;
-	bool test_metadata = c->flags & VM_BIND_METADATA;
 	uint32_t bo = xe_bo_create(fd, 0, bo_size,
 				   system_memory(fd), 0);
 	uint64_t addr = 0x1a0000;
-	uint8_t *data = NULL;
-
-	if (test_metadata)
-		ext = basic_vm_bind_metadata_ext_prepare(fd, c, &data);
 
 	xe_eudebug_client_vm_bind_flags(c, fd, vm, bo, 0, addr,
 					bo_size, 0, NULL, 0, to_user_pointer(ext));
@@ -138,9 +91,6 @@ static void basic_vm_bind_client(int fd, struct xe_eudebug_client *c)
 
 	xe_eudebug_client_vm_unbind(c, fd, vm, 0, addr, bo_size);
 
-	if (test_metadata)
-		basic_vm_bind_metadata_ext_del(fd, c, ext, data);
-
 	gem_close(fd, bo);
 	xe_eudebug_client_vm_destroy(c, fd, vm);
 }
@@ -477,7 +427,7 @@ static void run_basic_client(struct xe_eudebug_client *c)
 		xe_eudebug_client_vm_destroy(c, fd, vm);
 	}
 
-	if (c->flags & VM_BIND || c->flags & VM_BIND_METADATA)
+	if (c->flags & VM_BIND)
 		basic_vm_bind_client(fd, c);
 
 	if (c->flags & VM_BIND_EXTENDED)
@@ -974,12 +924,6 @@ static void test_basic_sessions(int fd, unsigned int flags, int count, bool matc
  *	Attach the debugger to a process that performs vm-bind before attaching
  *	and check if the discovery process reports it.
  *
- * SUBTEST: basic-vm-bind-metadata-discovery
- * Functionality: VM bind metadata
- * Description:
- *	Attach the debugger to a process that performs vm-bind with metadata attached
- *	before attaching and check if the discovery process reports it.
- *
  * SUBTEST: basic-vm-bind-vm-destroy-discovery
  * Functionality: VM bind event
  * Description:
@@ -1789,140 +1733,6 @@ static void test_vm_access_parameters(int fd, unsigned int flags, int num_client
 					 XE_EUDEBUG_FILTER_EVENT_VM_BIND_UFENCE);
 }
 
-static void metadata_access_client(struct xe_eudebug_client *c)
-{
-	const uint64_t addr = 0x1a0000;
-	struct drm_xe_vm_bind_op_ext_attach_debug *ext;
-	uint8_t *data;
-	size_t bo_size;
-	uint32_t bo, vm;
-	int fd, i;
-
-	fd = xe_eudebug_client_open_driver(c);
-
-	bo_size = xe_get_default_alignment(fd);
-	vm = xe_eudebug_client_vm_create(c, fd, DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
-	bo = xe_bo_create(fd, vm, bo_size, system_memory(fd), 0);
-
-	ext = basic_vm_bind_metadata_ext_prepare(fd, c, &data);
-
-	xe_eudebug_client_vm_bind_flags(c, fd, vm, bo, 0, addr,
-					bo_size, 0, NULL, 0, to_user_pointer(ext));
-
-	for (i = 0; i < WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM; i++)
-		xe_eudebug_client_wait_stage(c, i);
-
-	xe_eudebug_client_vm_unbind(c, fd, vm, 0, addr, bo_size);
-
-	basic_vm_bind_metadata_ext_del(fd, c, ext, data);
-
-	close(bo);
-	xe_eudebug_client_vm_destroy(c, fd, vm);
-
-	xe_eudebug_client_close_driver(c, fd);
-}
-
-static void debugger_test_metadata(struct xe_eudebug_debugger *d,
-				   uint64_t client_handle,
-				   uint64_t metadata_handle,
-				   uint64_t type,
-				   uint64_t len)
-{
-	struct drm_xe_eudebug_read_metadata rm = {
-		.client_handle = client_handle,
-		.metadata_handle = metadata_handle,
-		.size = len,
-	};
-	uint8_t *data;
-	int i;
-
-	data = malloc(len);
-	igt_assert(data);
-
-	rm.ptr = to_user_pointer(data);
-
-	igt_assert_eq(igt_ioctl(d->fd, DRM_XE_EUDEBUG_IOCTL_READ_METADATA, &rm), 0);
-
-	/* syntetic check, test sets different size per metadata type */
-	igt_assert_eq((type + 1) * PAGE_SIZE, rm.size);
-
-	for (i = 0; i < rm.size; i++)
-		igt_assert_eq(data[i], (i + i / PAGE_SIZE) % 256);
-
-	free(data);
-}
-
-static void metadata_read_trigger(struct xe_eudebug_debugger *d,
-				  struct drm_xe_eudebug_event *e)
-{
-	struct drm_xe_eudebug_event_metadata *em = (void *)e;
-
-	/* syntetic check, test sets different size per metadata type */
-	igt_assert_eq((em->type + 1) * PAGE_SIZE, em->len);
-
-	if (e->flags & DRM_XE_EUDEBUG_EVENT_CREATE) {
-		debugger_test_metadata(d, em->client_handle, em->metadata_handle,
-				       em->type, em->len);
-		xe_eudebug_debugger_signal_stage(d, em->type);
-	}
-}
-
-static void metadata_read_on_vm_bind_trigger(struct xe_eudebug_debugger *d,
-					     struct drm_xe_eudebug_event *e)
-{
-	struct drm_xe_eudebug_event_vm_bind_op_metadata *em = (void *)e;
-	struct drm_xe_eudebug_event_vm_bind_op *eo = (void *)e;
-	struct drm_xe_eudebug_event_vm_bind *eb;
-
-	/* For testing purpose client sets metadata_cookie = type */
-
-	/*
-	 * Metadata event has a reference to vm-bind-op event which has a reference
-	 * to vm-bind event which contains proper client-handle.
-	 */
-	eo = (struct drm_xe_eudebug_event_vm_bind_op *)
-		xe_eudebug_event_log_find_seqno(d->log, em->vm_bind_op_ref_seqno);
-	igt_assert(eo);
-	eb = (struct drm_xe_eudebug_event_vm_bind *)
-		xe_eudebug_event_log_find_seqno(d->log, eo->vm_bind_ref_seqno);
-	igt_assert(eb);
-
-	debugger_test_metadata(d,
-			       eb->client_handle,
-			       em->metadata_handle,
-			       em->metadata_cookie,
-			       MDATA_SIZE); /* max size */
-
-	xe_eudebug_debugger_signal_stage(d, em->metadata_cookie);
-}
-
-/**
- * SUBTEST: read-metadata
- * Functionality: metadata
- * Description:
- *      Exercise DRM_XE_EUDEBUG_IOCTL_READ_METADATA and debug metadata create|destroy events.
- */
-static void test_metadata_read(int fd, unsigned int flags, int num_clients)
-{
-	test_client_with_trigger(fd, flags, num_clients, metadata_access_client,
-				 DRM_XE_EUDEBUG_EVENT_METADATA, metadata_read_trigger,
-				 NULL, true, 0);
-}
-
-/**
- * SUBTEST: attach-debug-metadata
- * Functionality: metadata
- * Description:
- *      Read debug metadata when vm_bind has it attached.
- */
-static void test_metadata_attach(int fd, unsigned int flags, int num_clients)
-{
-	test_client_with_trigger(fd, flags, num_clients, metadata_access_client,
-				 DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA,
-				 metadata_read_on_vm_bind_trigger,
-				 NULL, true, 0);
-}
-
 #define STAGE_CLIENT_WAIT_ON_UFENCE_DONE 1337
 
 #define UFENCE_EVENT_COUNT_EXPECTED 4
@@ -2885,9 +2695,6 @@ int igt_main()
 	igt_subtest("basic-vm-bind-discovery")
 		test_basic_discovery(fd, VM_BIND, true);
 
-	igt_subtest("basic-vm-bind-metadata-discovery")
-		test_basic_discovery(fd, VM_BIND_METADATA, true);
-
 	igt_subtest("basic-vm-bind-vm-destroy")
 		test_basic_sessions(fd, VM_BIND_VM_DESTROY, 1, false);
 
@@ -2900,12 +2707,6 @@ int igt_main()
 	igt_subtest("basic-vm-bind-extended-discovery")
 		test_basic_discovery(fd, VM_BIND_EXTENDED, true);
 
-	igt_subtest("read-metadata")
-		test_metadata_read(fd, 0, 1);
-
-	igt_subtest("attach-debug-metadata")
-		test_metadata_attach(fd, 0, 1);
-
 	igt_subtest("discovery-race")
 		test_race_discovery(fd, 0, 4);
 
diff --git a/tests/intel/xe_eudebug_online.c b/tests/intel/xe_eudebug_online.c
index e59b99ee99..9b1e010d2a 100644
--- a/tests/intel/xe_eudebug_online.c
+++ b/tests/intel/xe_eudebug_online.c
@@ -891,52 +891,6 @@ static void vm_open_trigger(struct xe_eudebug_debugger *d,
 	pthread_mutex_unlock(&data->mutex);
 }
 
-static void read_metadata(struct xe_eudebug_debugger *d,
-			  uint64_t client_handle,
-			  uint64_t metadata_handle,
-			  uint64_t type,
-			  uint64_t len)
-{
-	struct drm_xe_eudebug_read_metadata rm = {
-		.client_handle = client_handle,
-		.metadata_handle = metadata_handle,
-		.size = len,
-	};
-	struct online_debug_data *data = d->ptr;
-	uint64_t *metadata;
-
-	metadata = malloc(len);
-	igt_assert(metadata);
-
-	rm.ptr = to_user_pointer(metadata);
-	igt_assert_eq(igt_ioctl(d->fd, DRM_XE_EUDEBUG_IOCTL_READ_METADATA, &rm), 0);
-
-	pthread_mutex_lock(&data->mutex);
-	switch (type) {
-	case DRM_XE_DEBUG_METADATA_ELF_BINARY:
-		data->bb_offset = metadata[0];
-		data->bb_size = metadata[1];
-		break;
-	case DRM_XE_DEBUG_METADATA_PROGRAM_MODULE:
-		data->target_offset = metadata[0];
-		data->target_size = metadata[1];
-		break;
-	default:
-		break;
-	}
-	pthread_mutex_unlock(&data->mutex);
-
-	free(metadata);
-}
-
-static void create_metadata_trigger(struct xe_eudebug_debugger *d, struct drm_xe_eudebug_event *e)
-{
-	struct drm_xe_eudebug_event_metadata *em = (void *)e;
-
-	if (e->flags & DRM_XE_EUDEBUG_EVENT_CREATE)
-		read_metadata(d, em->client_handle, em->metadata_handle, em->type, em->len);
-}
-
 static void overwrite_immediate_value_in_common_target_write(int vm_fd, uint64_t offset,
 							     uint32_t old_val, uint32_t new_val)
 {
@@ -1114,18 +1068,11 @@ static void run_online_client(struct xe_eudebug_client *c)
 	struct dim_t s_dim;
 	struct timespec ts = { };
 	struct gpgpu_shader *sip, *shader;
-	uint32_t metadata_id[2];
-	uint64_t *metadata[2];
 	struct intel_bb *ibb;
 	struct intel_buf *buf;
 	uint32_t *ptr;
 	int fd, vm_flags;
 
-	metadata[0] = calloc(2, sizeof(**metadata));
-	metadata[1] = calloc(2, sizeof(**metadata));
-	igt_assert(metadata[0]);
-	igt_assert(metadata[1]);
-
 	fd = xe_eudebug_client_open_driver(c);
 
 	threads = data->thread_count;
@@ -1146,16 +1093,6 @@ static void run_online_client(struct xe_eudebug_client *c)
 
 	buf->addr.offset = target_offset;
 
-	metadata[0][0] = bb_offset;
-	metadata[0][1] = bb_size;
-	metadata[1][0] = target_offset;
-	metadata[1][1] = buf->size;
-	metadata_id[0] = xe_eudebug_client_metadata_create(c, fd, DRM_XE_DEBUG_METADATA_ELF_BINARY,
-							   2 * sizeof(**metadata), metadata[0]);
-	metadata_id[1] = xe_eudebug_client_metadata_create(c, fd,
-							   DRM_XE_DEBUG_METADATA_PROGRAM_MODULE,
-							   2 * sizeof(**metadata), metadata[1]);
-
 	vm_flags = DRM_XE_VM_CREATE_FLAG_LR_MODE;
 	vm_flags |= c->flags & (SHADER_PAGEFAULT | FAULTABLE_VM) ?
 			DRM_XE_VM_CREATE_FLAG_FAULT_MODE : 0;
@@ -1209,12 +1146,6 @@ static void run_online_client(struct xe_eudebug_client *c)
 	xe_eudebug_client_exec_queue_destroy(c, fd, &create);
 	xe_eudebug_client_vm_destroy(c, fd, create.vm_id);
 
-	xe_eudebug_client_metadata_destroy(c, fd, metadata_id[0], DRM_XE_DEBUG_METADATA_ELF_BINARY,
-					   2 * sizeof(**metadata));
-	xe_eudebug_client_metadata_destroy(c, fd, metadata_id[1],
-					   DRM_XE_DEBUG_METADATA_PROGRAM_MODULE,
-					   2 * sizeof(**metadata));
-
 	intel_buf_destroy(buf);
 
 	xe_eudebug_client_close_driver(c, fd);
@@ -1587,8 +1518,6 @@ static void test_set_breakpoint_online(int fd, struct drm_xe_engine_class_instan
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE,
 					exec_queue_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_set_bp_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
@@ -1652,8 +1581,6 @@ static void test_set_breakpoint_online_sigint_debugger(int fd,
 						exec_queue_trigger);
 		xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM,
 						vm_open_trigger);
-		xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-						create_metadata_trigger);
 		xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 						ufence_ack_set_bp_trigger);
 		xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
@@ -1780,8 +1707,6 @@ static void test_pagefault_online(int fd, struct drm_xe_engine_class_instance *h
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
 					eu_attention_resume_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_PAGEFAULT,
@@ -1919,8 +1844,6 @@ static void test_interrupt_all(int fd, struct drm_xe_engine_class_instance *hwe,
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
 					eu_attention_resume_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_trigger);
 
@@ -2005,8 +1928,6 @@ static void test_interrupt_other(int fd, struct drm_xe_engine_class_instance *hw
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EXEC_QUEUE,
 					exec_queue_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_trigger);
 
@@ -2101,8 +2022,6 @@ static void test_tdctl_parameters(int fd, struct drm_xe_engine_class_instance *h
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
 					eu_attention_resume_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_trigger);
 
@@ -2251,8 +2170,6 @@ static void test_interrupt_reconnect(int fd, struct drm_xe_engine_class_instance
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
 					eu_attention_debugger_detach_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_trigger);
 
@@ -2328,8 +2245,6 @@ static void test_single_step(int fd, struct drm_xe_engine_class_instance *hwe, i
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
 					eu_attention_resume_single_step_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_trigger);
 
@@ -2429,8 +2344,6 @@ static void test_caching(int fd, struct drm_xe_engine_class_instance *hwe, int f
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_EU_ATTENTION,
 					eu_attention_resume_caching_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM, vm_open_trigger);
-	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_METADATA,
-					create_metadata_trigger);
 	xe_eudebug_debugger_add_trigger(s->debugger, DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE,
 					ufence_ack_trigger);
 
-- 
2.43.0


  parent reply	other threads:[~2026-01-12 13:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-12 12:59 [PATCH i-g-t 00/21] eudebug: uapi changes on connect and metadata Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 01/21] lib/xe/xe_eudebug: Dont compare if everything filtered Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 02/21] lib/xe/xe_eudebug: Make sure debugger drains events Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 03/21] lib/xe/xe_eudebug: Avoid matching if event is filtered Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 04/21] tests/intel/xe_eudebug_sriov: Align expected return code Mika Kuoppala
2026-01-12 13:12   ` Piatkowski, Dominik Karol
2026-01-12 12:59 ` Mika Kuoppala [this message]
2026-01-12 12:59 ` [PATCH i-g-t 06/21] eudebug: Remove EVENT_OPEN and adjust tests Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 07/21] tests/xe_eudebug: Adapt basic-read-event Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 08/21] tests/intel/xe_eudebug: Fix connect-user test Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 09/21] tests/intel/xe_eudebug: Mold ufence reconnect test to disconnect Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 10/21] lib/xe_eudebug: Adapt to vm_bind debug data Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 11/21] tests/xe_eudebug: Adapt basic-vm-bind and remove basic-vm-bind-extended Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 12/21] tests/xe_eudebug: Adapt some ufence reliant tests to new vm_bind event interface Mika Kuoppala
2026-01-12 12:59 ` [PATCH i-g-t 13/21] tests/xe_eudebug: Adapt vm-bind-clear* subtests to debug data Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 14/21] lib/xe_eudebug: Remove unused xe_eudebug_client_vm_bind wrappers Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 15/21] tests/xe_eudebug: Add vm-bind-debug-data-ufence subtest Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 16/21] lib/intel_batchbuffer: Add dummy OP_DEBUG_DATA operation to __xe_alloc_bind_ops Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 17/21] tests/xe_eudebug_online: Adapt set-breakpoint test to work with new vm bind event interface Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 18/21] tests/xe_eudebug_online: Adapt several subtests " Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 19/21] lib/xe/xe_eudebug: Add callback for session work Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 20/21] tests/intel/xe_eudebug: Add render node testing Mika Kuoppala
2026-01-12 13:00 ` [PATCH i-g-t 21/21] eudebug: Update xe_drm_eudebug.h uapi Mika Kuoppala

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=20260112130008.1649357-6-mika.kuoppala@linux.intel.com \
    --to=mika.kuoppala@linux.intel.com \
    --cc=christoph.manszewski@intel.com \
    --cc=dominik.karol.piatkowski@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jan.maslak@intel.com \
    --cc=maciej.patelczyk@intel.com \
    --cc=zbigniew.kempczynski@intel.com \
    /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