* [PATCH i-g-t 0/3] Use LR mode for compute
@ 2025-02-03 13:38 Francois Dugast
2025-02-03 13:38 ` [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp Francois Dugast
` (5 more replies)
0 siblings, 6 replies; 13+ messages in thread
From: Francois Dugast @ 2025-02-03 13:38 UTC (permalink / raw)
To: igt-dev; +Cc: Francois Dugast
This series is a follow-up of [1]. The CI failures are fixed in 2 new
preparation patches to make xe_bo_create() work on xehp and xehpc with
64K alignment.
[1] https://patchwork.freedesktop.org/series/143899/#rev4
Francois Dugast (3):
lib/intel_compute: Align objects on 64K for xehp
lib/intel_compute: Align objects on 64K for xehpc
lib/intel_compute: Use LR mode for compute when using Xe
lib/intel_compute.c | 190 ++++++++++++++++++++++++++++++++++----------
1 file changed, 146 insertions(+), 44 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp
2025-02-03 13:38 [PATCH i-g-t 0/3] Use LR mode for compute Francois Dugast
@ 2025-02-03 13:38 ` Francois Dugast
2025-02-04 5:55 ` Zbigniew Kempczyński
2025-02-03 13:38 ` [PATCH i-g-t 2/3] lib/intel_compute: Align objects on 64K for xehpc Francois Dugast
` (4 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Francois Dugast @ 2025-02-03 13:38 UTC (permalink / raw)
To: igt-dev; +Cc: Francois Dugast
Some of the buffers are aligned on 4K. Ensure 64K alignment
in preparation for a switch to using xe_bo_create() during
buffers creation.
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
lib/intel_compute.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/lib/intel_compute.c b/lib/intel_compute.c
index f1520aad4..983b2e2c3 100644
--- a/lib/intel_compute.c
+++ b/lib/intel_compute.c
@@ -24,9 +24,9 @@
#define MEDIA_STATE_FLUSH 0x0
#define MAX(X, Y) (((X) > (Y)) ? (X) : (Y))
#define SIZE_DATA 64
-#define SIZE_BATCH 0x1000
-#define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x1000)
-#define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x1000)
+#define SIZE_BATCH 0x10000
+#define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
+#define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
#define ADDR_BATCH 0x100000ULL
#define ADDR_INPUT 0x200000ULL
#define ADDR_OUTPUT 0x300000ULL
@@ -38,7 +38,7 @@
#define ADDR_GENERAL_STATE_BASE 0x80000000ULL
#define ADDR_INSTRUCTION_STATE_BASE 0x90000000ULL
-#define OFFSET_BINDING_TABLE 0x1000
+#define OFFSET_BINDING_TABLE 0x10000
#define XE2_ADDR_STATE_CONTEXT_DATA_BASE 0x900000ULL
#define OFFSET_STATE_SIP 0xFFFF0000
@@ -746,8 +746,8 @@ static void xehp_create_surface_state(uint32_t *addr_bo_buffer_batch,
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00000000;
- addr_bo_buffer_batch[b++] = 0x00001000;
- addr_bo_buffer_batch[b++] = 0x00001040;
+ addr_bo_buffer_batch[b++] = 0x00010000;
+ addr_bo_buffer_batch[b++] = 0x00010040;
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00000000;
@@ -825,7 +825,7 @@ static void xehp_compute_exec_compute(uint32_t *addr_bo_buffer_batch,
addr_bo_buffer_batch[b++] = GEN8_3DSTATE_BINDING_TABLE_POOL_ALLOC | 2;
addr_bo_buffer_batch[b++] = (addr_surface_state_base & 0xffffffff) | 0x6;
addr_bo_buffer_batch[b++] = addr_surface_state_base >> 32;
- addr_bo_buffer_batch[b++] = 0x00002000;
+ addr_bo_buffer_batch[b++] = 0x00012000;
addr_bo_buffer_batch[b++] = 0x001ff000;
addr_bo_buffer_batch[b++] = XEHP_COMPUTE_WALKER | 0x25;
@@ -852,7 +852,7 @@ static void xehp_compute_exec_compute(uint32_t *addr_bo_buffer_batch,
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00180000;
addr_bo_buffer_batch[b++] = 0x00000000;
- addr_bo_buffer_batch[b++] = 0x00001080;
+ addr_bo_buffer_batch[b++] = 0x00010080;
addr_bo_buffer_batch[b++] = 0x0c000002;
addr_bo_buffer_batch[b++] = 0x00000008;
@@ -895,10 +895,10 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
.size = 0x100000,
.name = "dynamic state base"},
{ .addr = ADDR_SURFACE_STATE_BASE,
- .size = 0x1000,
+ .size = 0x10000,
.name = "surface state base"},
{ .addr = ADDR_GENERAL_STATE_BASE + OFFSET_INDIRECT_DATA_START,
- .size = 0x1000,
+ .size = 0x10000,
.name = "indirect object base"},
{ .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
.name = "addr input"},
@@ -907,7 +907,7 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
{ .addr = ADDR_GENERAL_STATE_BASE, .size = 0x100000,
.name = "general state base" },
{ .addr = ADDR_SURFACE_STATE_BASE + OFFSET_BINDING_TABLE,
- .size = 0x1000,
+ .size = 0x10000,
.name = "binding table" },
{ .addr = ADDR_BATCH, .size = SIZE_BATCH,
.name = "batch" },
@@ -918,7 +918,7 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
bo_execenv_create(fd, &execenv, eci);
/* Sets Kernel size */
- bo_dict[0].size = ALIGN(size, 0x1000);
+ bo_dict[0].size = ALIGN(size, 0x10000);
bo_execenv_bind(&execenv, bo_dict, XEHP_BO_DICT_ENTRIES);
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH i-g-t 2/3] lib/intel_compute: Align objects on 64K for xehpc
2025-02-03 13:38 [PATCH i-g-t 0/3] Use LR mode for compute Francois Dugast
2025-02-03 13:38 ` [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp Francois Dugast
@ 2025-02-03 13:38 ` Francois Dugast
2025-02-04 6:55 ` Zbigniew Kempczyński
2025-02-03 13:38 ` [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe Francois Dugast
` (3 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Francois Dugast @ 2025-02-03 13:38 UTC (permalink / raw)
To: igt-dev; +Cc: Francois Dugast
Some of the buffers are aligned on 4K. Ensure 64K alignment
in preparation for a switch to using xe_bo_create() during
buffers creation.
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
lib/intel_compute.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/intel_compute.c b/lib/intel_compute.c
index 983b2e2c3..0e1179b62 100644
--- a/lib/intel_compute.c
+++ b/lib/intel_compute.c
@@ -1125,7 +1125,7 @@ static void xehpc_compute_exec(int fd, const unsigned char *kernel,
bo_execenv_create(fd, &execenv, eci);
/* Sets Kernel size */
- bo_dict[0].size = ALIGN(size, 0x1000);
+ bo_dict[0].size = ALIGN(size, 0x10000);
bo_execenv_bind(&execenv, bo_dict, XEHPC_BO_DICT_ENTRIES);
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe
2025-02-03 13:38 [PATCH i-g-t 0/3] Use LR mode for compute Francois Dugast
2025-02-03 13:38 ` [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp Francois Dugast
2025-02-03 13:38 ` [PATCH i-g-t 2/3] lib/intel_compute: Align objects on 64K for xehpc Francois Dugast
@ 2025-02-03 13:38 ` Francois Dugast
2025-02-04 6:49 ` Zbigniew Kempczyński
2025-02-04 1:09 ` ✗ i915.CI.BAT: failure for Use LR mode for compute Patchwork
` (2 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Francois Dugast @ 2025-02-03 13:38 UTC (permalink / raw)
To: igt-dev; +Cc: Francois Dugast, Zbigniew Kempczyński
When Xe is used, create the VM in LR mode as this is what the
compute UMD does to run compute kernels. This makes those tests
more representative of real world scenarios. A side effect is
that user fences must be used.
v2: Minimize changes, stick to xe_vm_bind_userptr_async()
v3: Also use user fences in preempt exec
v4: Do not rely on user pointers due to atomics use in sip,
rebase after 64K alignment, fix waiting times and order
in preempt exec (Zbigniew)
CC: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
lib/intel_compute.c | 164 +++++++++++++++++++++++++++++++++++---------
1 file changed, 133 insertions(+), 31 deletions(-)
diff --git a/lib/intel_compute.c b/lib/intel_compute.c
index 0e1179b62..6f6b4006d 100644
--- a/lib/intel_compute.c
+++ b/lib/intel_compute.c
@@ -27,6 +27,8 @@
#define SIZE_BATCH 0x10000
#define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
#define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
+#define ADDR_SYNC 0x010000ULL
+#define ADDR_SYNC2 0x020000ULL
#define ADDR_BATCH 0x100000ULL
#define ADDR_INPUT 0x200000ULL
#define ADDR_OUTPUT 0x300000ULL
@@ -43,6 +45,8 @@
#define XE2_ADDR_STATE_CONTEXT_DATA_BASE 0x900000ULL
#define OFFSET_STATE_SIP 0xFFFF0000
+#define USER_FENCE_VALUE 0xdeadbeefdeadbeefull
+
/*
* TGP - ThreadGroup Preemption
* WMTP - Walker Mid Thread Preemption
@@ -58,6 +62,10 @@ struct bo_dict_entry {
uint32_t handle;
};
+struct bo_sync {
+ uint64_t sync;
+};
+
struct bo_execenv {
int fd;
enum intel_driver driver;
@@ -81,7 +89,7 @@ static void bo_execenv_create(int fd, struct bo_execenv *execenv,
execenv->driver = get_intel_driver(fd);
if (execenv->driver == INTEL_DRIVER_XE) {
- execenv->vm = xe_vm_create(fd, 0, 0);
+ execenv->vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
if (eci) {
execenv->exec_queue = xe_exec_queue_create(fd, execenv->vm,
@@ -107,8 +115,8 @@ static void bo_execenv_destroy(struct bo_execenv *execenv)
igt_assert(execenv);
if (execenv->driver == INTEL_DRIVER_XE) {
- xe_vm_destroy(execenv->fd, execenv->vm);
xe_exec_queue_destroy(execenv->fd, execenv->exec_queue);
+ xe_vm_destroy(execenv->fd, execenv->vm);
}
}
@@ -119,18 +127,32 @@ static void bo_execenv_bind(struct bo_execenv *execenv,
if (execenv->driver == INTEL_DRIVER_XE) {
uint32_t vm = execenv->vm;
- uint64_t alignment = xe_get_default_alignment(fd);
- struct drm_xe_sync sync = { 0 };
-
- sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
- sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
- sync.handle = syncobj_create(fd, 0);
+ uint32_t exec_queue = execenv->exec_queue;
+ struct bo_sync *bo_sync;
+ size_t bo_size = sizeof(*bo_sync);
+ uint32_t bo = 0;
+ struct drm_xe_sync sync = {
+ .type = DRM_XE_SYNC_TYPE_USER_FENCE,
+ .flags = DRM_XE_SYNC_FLAG_SIGNAL,
+ .timeline_value = USER_FENCE_VALUE,
+ };
+
+ bo_size = xe_bb_size(fd, bo_size);
+ bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
+ bo_sync = xe_bo_map(fd, bo, bo_size);
+ sync.addr = to_user_pointer(&bo_sync->sync);
for (int i = 0; i < entries; i++) {
- bo_dict[i].data = aligned_alloc(alignment, bo_dict[i].size);
- xe_vm_bind_userptr_async(fd, vm, 0, to_user_pointer(bo_dict[i].data),
- bo_dict[i].addr, bo_dict[i].size, &sync, 1);
- syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0, NULL);
+ bo_sync->sync = 0;
+ bo_dict[i].handle = xe_bo_create(fd, execenv->vm, bo_dict[i].size,
+ vram_if_possible(fd, 0),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
+ bo_dict[i].data = xe_bo_map(fd, bo_dict[i].handle, bo_dict[i].size);
+ xe_vm_bind_async(fd, vm, 0, bo_dict[i].handle, 0, bo_dict[i].addr,
+ bo_dict[i].size, &sync, 1);
+ xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue,
+ INT64_MAX);
memset(bo_dict[i].data, 0, bo_dict[i].size);
igt_debug("[i: %2d name: %20s] data: %p, addr: %16llx, size: %llx\n",
@@ -139,7 +161,8 @@ static void bo_execenv_bind(struct bo_execenv *execenv,
(long long)bo_dict[i].size);
}
- syncobj_destroy(fd, sync.handle);
+ munmap(bo_sync, bo_size);
+ gem_close(fd, bo);
} else {
struct drm_i915_gem_execbuffer2 *execbuf = &execenv->execbuf;
struct drm_i915_gem_exec_object2 *obj;
@@ -177,19 +200,33 @@ static void bo_execenv_unbind(struct bo_execenv *execenv,
if (execenv->driver == INTEL_DRIVER_XE) {
uint32_t vm = execenv->vm;
- struct drm_xe_sync sync = { 0 };
-
- sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
- sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
- sync.handle = syncobj_create(fd, 0);
+ uint32_t exec_queue = execenv->exec_queue;
+ struct bo_sync *bo_sync;
+ size_t bo_size = sizeof(*bo_sync);
+ uint32_t bo = 0;
+ struct drm_xe_sync sync = {
+ .type = DRM_XE_SYNC_TYPE_USER_FENCE,
+ .flags = DRM_XE_SYNC_FLAG_SIGNAL,
+ .timeline_value = USER_FENCE_VALUE,
+ };
+
+ bo_size = xe_bb_size(fd, bo_size);
+ bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
+ bo_sync = xe_bo_map(fd, bo, bo_size);
+ sync.addr = to_user_pointer(&bo_sync->sync);
for (int i = 0; i < entries; i++) {
+ bo_sync->sync = 0;
xe_vm_unbind_async(fd, vm, 0, 0, bo_dict[i].addr, bo_dict[i].size, &sync, 1);
- syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0, NULL);
- free(bo_dict[i].data);
+ xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue,
+ INT64_MAX);
+ munmap(bo_dict[i].data, bo_dict[i].size);
+ gem_close(fd, bo_dict[i].handle);
}
- syncobj_destroy(fd, sync.handle);
+ munmap(bo_sync, bo_size);
+ gem_close(fd, bo);
} else {
for (int i = 0; i < entries; i++) {
gem_close(fd, bo_dict[i].handle);
@@ -204,7 +241,32 @@ static void bo_execenv_exec(struct bo_execenv *execenv, uint64_t start_addr)
int fd = execenv->fd;
if (execenv->driver == INTEL_DRIVER_XE) {
- xe_exec_wait(fd, execenv->exec_queue, start_addr);
+ uint32_t exec_queue = execenv->exec_queue;
+ struct bo_sync *bo_sync;
+ size_t bo_size = sizeof(*bo_sync);
+ uint32_t bo = 0;
+ struct drm_xe_sync sync = {
+ .type = DRM_XE_SYNC_TYPE_USER_FENCE,
+ .flags = DRM_XE_SYNC_FLAG_SIGNAL,
+ .timeline_value = USER_FENCE_VALUE,
+ };
+
+ bo_size = xe_bb_size(fd, bo_size);
+ bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
+ bo_sync = xe_bo_map(fd, bo, bo_size);
+ sync.addr = to_user_pointer(&bo_sync->sync);
+ xe_vm_bind_async(fd, execenv->vm, 0, bo, 0, ADDR_SYNC, bo_size, &sync, 1);
+ xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue, INT64_MAX);
+
+ sync.addr = ADDR_SYNC;
+ bo_sync->sync = 0;
+
+ xe_exec_sync(fd, exec_queue, start_addr, &sync, 1);
+ xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue, INT64_MAX);
+
+ munmap(bo_sync, bo_size);
+ gem_close(fd, bo);
} else {
struct drm_i915_gem_execbuffer2 *execbuf = &execenv->execbuf;
struct drm_i915_gem_exec_object2 *obj = execenv->obj;
@@ -1803,15 +1865,22 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
float *dinput;
unsigned int long_kernel_loop_count;
struct drm_xe_sync sync_long = {
- .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
+ .type = DRM_XE_SYNC_TYPE_USER_FENCE,
.flags = DRM_XE_SYNC_FLAG_SIGNAL,
- .handle = syncobj_create(fd, 0),
+ .timeline_value = USER_FENCE_VALUE,
};
+ struct bo_sync *bo_sync_long;
+ size_t bo_size_long = sizeof(*bo_sync_long);
+ uint32_t bo_long = 0;
struct drm_xe_sync sync_short = {
- .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
+ .type = DRM_XE_SYNC_TYPE_USER_FENCE,
.flags = DRM_XE_SYNC_FLAG_SIGNAL,
- .handle = syncobj_create(fd, 0),
+ .timeline_value = USER_FENCE_VALUE,
};
+ struct bo_sync *bo_sync_short;
+ size_t bo_size_short = sizeof(*bo_sync_short);
+ uint32_t bo_short = 0;
+ int64_t timeout_short = 1;
if (threadgroup_preemption)
long_kernel_loop_count = TGP_long_kernel_loop_count;
@@ -1824,6 +1893,32 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
bo_execenv_create(fd, &execenv_short, eci);
bo_execenv_create(fd, &execenv_long, eci);
+ /* Prepare sync object for long */
+ bo_size_long = xe_bb_size(fd, bo_size_long);
+ bo_long = xe_bo_create(fd, execenv_long.vm, bo_size_long, vram_if_possible(fd, 0),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
+ bo_sync_long = xe_bo_map(fd, bo_long, bo_size_long);
+ sync_long.addr = to_user_pointer(&bo_sync_long->sync);
+ xe_vm_bind_async(fd, execenv_long.vm, 0, bo_long, 0, ADDR_SYNC, bo_size_long,
+ &sync_long, 1);
+ xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE, execenv_long.exec_queue,
+ INT64_MAX);
+ bo_sync_long->sync = 0;
+ sync_long.addr = ADDR_SYNC;
+
+ /* Prepare sync object for short */
+ bo_size_short = xe_bb_size(fd, bo_size_short);
+ bo_short = xe_bo_create(fd, execenv_short.vm, bo_size_short, vram_if_possible(fd, 0),
+ DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
+ bo_sync_short = xe_bo_map(fd, bo_short, bo_size_short);
+ sync_short.addr = to_user_pointer(&bo_sync_short->sync);
+ xe_vm_bind_async(fd, execenv_short.vm, 0, bo_short, 0, ADDR_SYNC2, bo_size_short,
+ &sync_short, 1);
+ xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE, execenv_short.exec_queue,
+ INT64_MAX);
+ bo_sync_short->sync = 0;
+ sync_short.addr = ADDR_SYNC2;
+
bo_dict_long[0].size = ALIGN(long_kernel_size, 0x1000);
bo_dict_short[0].size = ALIGN(short_kernel_size, 0x1000);
@@ -1872,14 +1967,21 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
OFFSET_INDIRECT_DATA_START, OFFSET_KERNEL, OFFSET_STATE_SIP, false);
xe_exec_sync(fd, execenv_long.exec_queue, ADDR_BATCH, &sync_long, 1);
-
xe_exec_sync(fd, execenv_short.exec_queue, ADDR_BATCH, &sync_short, 1);
- igt_assert(syncobj_wait(fd, &sync_short.handle, 1, INT64_MAX, 0, NULL));
- syncobj_destroy(fd, sync_short.handle);
+ xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE, execenv_short.exec_queue,
+ INT64_MAX);
+ /* Check that the long kernel has not completed yet */
+ igt_assert_neq(0, __xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE,
+ execenv_long.exec_queue, &timeout_short));
+ xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE, execenv_long.exec_queue,
+ INT64_MAX);
+
+ munmap(bo_sync_long, bo_size_long);
+ gem_close(fd, bo_long);
- igt_assert(syncobj_wait(fd, &sync_long.handle, 1, INT64_MAX, 0, NULL));
- syncobj_destroy(fd, sync_long.handle);
+ munmap(bo_sync_short, bo_size_short);
+ gem_close(fd, bo_short);
for (int i = 0; i < SIZE_DATA; i++) {
float f1, f2;
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* ✗ i915.CI.BAT: failure for Use LR mode for compute
2025-02-03 13:38 [PATCH i-g-t 0/3] Use LR mode for compute Francois Dugast
` (2 preceding siblings ...)
2025-02-03 13:38 ` [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe Francois Dugast
@ 2025-02-04 1:09 ` Patchwork
2025-02-04 1:32 ` ✓ Xe.CI.BAT: success " Patchwork
2025-02-04 3:53 ` ✗ Xe.CI.Full: failure " Patchwork
5 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2025-02-04 1:09 UTC (permalink / raw)
To: Francois Dugast; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 4859 bytes --]
== Series Details ==
Series: Use LR mode for compute
URL : https://patchwork.freedesktop.org/series/144254/
State : failure
== Summary ==
CI Bug Log - changes from IGT_8221 -> IGTPW_12535
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_12535 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_12535, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/index.html
Participating hosts (45 -> 44)
------------------------------
Missing (1): fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_12535:
### IGT changes ###
#### Possible regressions ####
* igt@gem_lmem_swapping@random-engines:
- bat-dg2-14: [PASS][1] -> [DMESG-WARN][2] +1 other test dmesg-warn
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-dg2-14/igt@gem_lmem_swapping@random-engines.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-dg2-14/igt@gem_lmem_swapping@random-engines.html
Known issues
------------
Here are the changes found in IGTPW_12535 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@workarounds:
- bat-arlh-3: [PASS][3] -> [DMESG-FAIL][4] ([i915#12061]) +1 other test dmesg-fail
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-arlh-3/igt@i915_selftest@live@workarounds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-arlh-3/igt@i915_selftest@live@workarounds.html
- bat-mtlp-6: [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@dmabuf@all-tests:
- bat-apl-1: [INCOMPLETE][7] ([i915#12904]) -> [PASS][8] +1 other test pass
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-apl-1/igt@dmabuf@all-tests.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-apl-1/igt@dmabuf@all-tests.html
* igt@i915_pm_rpm@module-reload:
- bat-rpls-4: [DMESG-WARN][9] ([i915#13400]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-rpls-4/igt@i915_pm_rpm@module-reload.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-rpls-4/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live:
- bat-twl-1: [ABORT][11] ([i915#12919] / [i915#13503]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-twl-1/igt@i915_selftest@live.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-twl-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@gt_heartbeat:
- bat-twl-1: [ABORT][13] -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-twl-1/igt@i915_selftest@live@gt_heartbeat.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-twl-1/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@workarounds:
- bat-arls-5: [DMESG-FAIL][15] ([i915#12061]) -> [PASS][16] +1 other test pass
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8221/bat-arls-5/igt@i915_selftest@live@workarounds.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/bat-arls-5/igt@i915_selftest@live@workarounds.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
[i915#12919]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12919
[i915#13400]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13400
[i915#13503]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13503
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8221 -> IGTPW_12535
* Linux: CI_DRM_16056 -> CI_DRM_16059
CI-20190529: 20190529
CI_DRM_16056: e4653d321048b16b1373c8ddf0657590963c5897 @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_16059: e300f8946bc0ce873e4c4bc1a2cd05e7b617b1db @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_12535: 354b5b707cc8dd56d902670b274f2d137e5a4a94 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8221: ad1f57286d15d083b08c94f3d93600db85f9945b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12535/index.html
[-- Attachment #2: Type: text/html, Size: 5792 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* ✓ Xe.CI.BAT: success for Use LR mode for compute
2025-02-03 13:38 [PATCH i-g-t 0/3] Use LR mode for compute Francois Dugast
` (3 preceding siblings ...)
2025-02-04 1:09 ` ✗ i915.CI.BAT: failure for Use LR mode for compute Patchwork
@ 2025-02-04 1:32 ` Patchwork
2025-02-04 3:53 ` ✗ Xe.CI.Full: failure " Patchwork
5 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2025-02-04 1:32 UTC (permalink / raw)
To: Francois Dugast; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 3019 bytes --]
== Series Details ==
Series: Use LR mode for compute
URL : https://patchwork.freedesktop.org/series/144254/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8221_BAT -> XEIGTPW_12535_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (8 -> 8)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_12535_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_live_ktest@xe_dma_buf:
- bat-adlp-vf: [PASS][1] -> [SKIP][2] ([Intel XE#1192])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/bat-adlp-vf/igt@xe_live_ktest@xe_dma_buf.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/bat-adlp-vf/igt@xe_live_ktest@xe_dma_buf.html
* igt@xe_pat@pat-index-xelp@render:
- bat-adlp-vf: [PASS][3] -> [DMESG-WARN][4] ([Intel XE#3970] / [Intel XE#4078]) +1 other test dmesg-warn
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/bat-adlp-vf/igt@xe_pat@pat-index-xelp@render.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/bat-adlp-vf/igt@xe_pat@pat-index-xelp@render.html
#### Warnings ####
* igt@xe_live_ktest@xe_bo:
- bat-adlp-vf: [SKIP][5] ([Intel XE#2229] / [Intel XE#455]) -> [SKIP][6] ([Intel XE#1192])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/bat-adlp-vf/igt@xe_live_ktest@xe_bo.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/bat-adlp-vf/igt@xe_live_ktest@xe_bo.html
* igt@xe_live_ktest@xe_migrate:
- bat-adlp-vf: [DMESG-FAIL][7] ([Intel XE#4078]) -> [SKIP][8] ([Intel XE#1192])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/bat-adlp-vf/igt@xe_live_ktest@xe_migrate.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/bat-adlp-vf/igt@xe_live_ktest@xe_migrate.html
[Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
[Intel XE#4078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4078
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
Build changes
-------------
* IGT: IGT_8221 -> IGTPW_12535
* Linux: xe-2587-e4653d321048b16b1373c8ddf0657590963c5897 -> xe-2590-e300f8946bc0ce873e4c4bc1a2cd05e7b617b1db
IGTPW_12535: 354b5b707cc8dd56d902670b274f2d137e5a4a94 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8221: ad1f57286d15d083b08c94f3d93600db85f9945b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-2587-e4653d321048b16b1373c8ddf0657590963c5897: e4653d321048b16b1373c8ddf0657590963c5897
xe-2590-e300f8946bc0ce873e4c4bc1a2cd05e7b617b1db: e300f8946bc0ce873e4c4bc1a2cd05e7b617b1db
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/index.html
[-- Attachment #2: Type: text/html, Size: 3886 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* ✗ Xe.CI.Full: failure for Use LR mode for compute
2025-02-03 13:38 [PATCH i-g-t 0/3] Use LR mode for compute Francois Dugast
` (4 preceding siblings ...)
2025-02-04 1:32 ` ✓ Xe.CI.BAT: success " Patchwork
@ 2025-02-04 3:53 ` Patchwork
5 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2025-02-04 3:53 UTC (permalink / raw)
To: Francois Dugast; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 92482 bytes --]
== Series Details ==
Series: Use LR mode for compute
URL : https://patchwork.freedesktop.org/series/144254/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8221_full -> XEIGTPW_12535_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_12535_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_12535_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_12535_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_joiner@basic-force-big-joiner:
- shard-dg2-set2: [PASS][1] -> [SKIP][2] +1 other test skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@kms_joiner@basic-force-big-joiner.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_joiner@basic-force-big-joiner.html
Known issues
------------
Here are the changes found in XEIGTPW_12535_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@intel_hwmon@hwmon-read:
- shard-lnl: NOTRUN -> [SKIP][3] ([Intel XE#1125])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@intel_hwmon@hwmon-read.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-lnl: NOTRUN -> [SKIP][4] ([Intel XE#3157])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-8/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-lnl: NOTRUN -> [SKIP][5] ([Intel XE#3279]) +1 other test skip
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_big_fb@linear-16bpp-rotate-180:
- shard-bmg: [PASS][6] -> [DMESG-WARN][7] ([Intel XE#4172]) +31 other tests dmesg-warn
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@kms_big_fb@linear-16bpp-rotate-180.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_big_fb@linear-16bpp-rotate-180.html
* igt@kms_big_fb@linear-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#2327]) +4 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@kms_big_fb@linear-32bpp-rotate-90.html
- shard-lnl: NOTRUN -> [SKIP][9] ([Intel XE#1407]) +3 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-5/igt@kms_big_fb@linear-32bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][10] ([Intel XE#316]) +7 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-bmg: NOTRUN -> [SKIP][11] ([Intel XE#1124]) +15 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
- shard-dg2-set2: NOTRUN -> [SKIP][12] ([Intel XE#1124]) +11 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
- shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#1124]) +9 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-4/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#2328])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_big_fb@yf-tiled-addfb.html
- shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#619])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@kms_big_fb@yf-tiled-addfb.html
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#1467])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
- shard-dg2-set2: [PASS][17] -> [SKIP][18] ([Intel XE#2191])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-463/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
* igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p:
- shard-lnl: NOTRUN -> [SKIP][19] ([Intel XE#2191])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html
* igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
- shard-dg2-set2: NOTRUN -> [SKIP][20] ([Intel XE#2191]) +1 other test skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
- shard-lnl: NOTRUN -> [SKIP][21] ([Intel XE#1512]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
* igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#2314] / [Intel XE#2894]) +3 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-3-displays-2160x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][23] ([Intel XE#367])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@kms_bw@linear-tiling-3-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-4-displays-2560x1440p:
- shard-bmg: NOTRUN -> [SKIP][24] ([Intel XE#367])
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][25] ([Intel XE#787]) +163 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][26] ([Intel XE#3442])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#3433]) +3 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [SKIP][28] ([Intel XE#2652] / [Intel XE#787]) +11 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#3432]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
- shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#3432]) +1 other test skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#2887]) +17 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][32] ([Intel XE#2907])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [PASS][33] -> [INCOMPLETE][34] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124] / [Intel XE#4010])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [PASS][35] -> [INCOMPLETE][36] ([Intel XE#1727] / [Intel XE#3124] / [Intel XE#4010]) +1 other test incomplete
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6:
- shard-dg2-set2: [PASS][37] -> [DMESG-WARN][38] ([Intel XE#1727] / [Intel XE#3113])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-d-hdmi-a-6:
- shard-dg2-set2: [PASS][39] -> [INCOMPLETE][40] ([Intel XE#3124] / [Intel XE#4010])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-d-hdmi-a-6.html
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-d-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][41] ([Intel XE#1727] / [Intel XE#3113])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][42] ([Intel XE#3124] / [Intel XE#4010])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][43] ([Intel XE#2887]) +12 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][44] ([Intel XE#455] / [Intel XE#787]) +45 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-d-dp-4.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-bmg: NOTRUN -> [SKIP][45] ([Intel XE#2724]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_cdclk@mode-transition-all-outputs.html
- shard-lnl: NOTRUN -> [SKIP][46] ([Intel XE#314])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-3/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][47] ([Intel XE#1152]) +3 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html
* igt@kms_chamelium_color@ctm-max:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#306])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_chamelium_color@ctm-max.html
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#2325])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_chamelium_color@ctm-max.html
* igt@kms_chamelium_color@gamma:
- shard-dg2-set2: NOTRUN -> [SKIP][50] ([Intel XE#306]) +1 other test skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_chamelium_color@gamma.html
* igt@kms_chamelium_edid@dp-edid-resolution-list:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2252]) +10 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_chamelium_edid@dp-edid-resolution-list.html
* igt@kms_chamelium_edid@vga-edid-read:
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#373]) +9 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@kms_chamelium_edid@vga-edid-read.html
* igt@kms_chamelium_hpd@dp-hpd-fast:
- shard-dg2-set2: NOTRUN -> [SKIP][53] ([Intel XE#373]) +10 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_chamelium_hpd@dp-hpd-fast.html
* igt@kms_color@degamma@pipe-d-hdmi-a-3:
- shard-bmg: NOTRUN -> [DMESG-WARN][54] ([Intel XE#877]) +1 other test dmesg-warn
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_color@degamma@pipe-d-hdmi-a-3.html
* igt@kms_content_protection@atomic:
- shard-bmg: NOTRUN -> [SKIP][55] ([Intel XE#2341]) +2 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_content_protection@atomic.html
- shard-dg2-set2: NOTRUN -> [FAIL][56] ([Intel XE#1178]) +2 other tests fail
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@legacy:
- shard-bmg: NOTRUN -> [FAIL][57] ([Intel XE#1178]) +1 other test fail
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [FAIL][58] ([Intel XE#3304])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_content_protection@lic-type-0@pipe-a-dp-4.html
* igt@kms_content_protection@lic-type-1:
- shard-lnl: NOTRUN -> [SKIP][59] ([Intel XE#3278]) +3 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-4/igt@kms_content_protection@lic-type-1.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-dg2-set2: NOTRUN -> [SKIP][60] ([Intel XE#308]) +2 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-rapid-movement-128x42:
- shard-lnl: NOTRUN -> [SKIP][61] ([Intel XE#1424]) +6 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-5/igt@kms_cursor_crc@cursor-rapid-movement-128x42.html
* igt@kms_cursor_crc@cursor-sliding-128x128:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][62] ([Intel XE#1033]) +11 other tests dmesg-warn
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_cursor_crc@cursor-sliding-128x128.html
* igt@kms_cursor_crc@cursor-sliding-256x85:
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#2320]) +5 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_cursor_crc@cursor-sliding-256x85.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#2291]) +1 other test skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#309]) +7 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-5/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-dg2-set2: [PASS][66] -> [SKIP][67] ([Intel XE#309]) +1 other test skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-463/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
- shard-bmg: [PASS][68] -> [SKIP][69] ([Intel XE#2291]) +3 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-dg2-set2: NOTRUN -> [SKIP][70] ([Intel XE#323])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
- shard-lnl: NOTRUN -> [SKIP][71] ([Intel XE#323])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
- shard-bmg: NOTRUN -> [SKIP][72] ([Intel XE#2286])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dirtyfb@default-dirtyfb-ioctl@a-dp-2:
- shard-bmg: NOTRUN -> [DMESG-WARN][73] ([Intel XE#4172]) +13 other tests dmesg-warn
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@kms_dirtyfb@default-dirtyfb-ioctl@a-dp-2.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#2323])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_display_modes@mst-extended-mode-negative.html
- shard-dg2-set2: NOTRUN -> [SKIP][75] ([Intel XE#307])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@kms_display_modes@mst-extended-mode-negative.html
- shard-lnl: NOTRUN -> [SKIP][76] ([Intel XE#307])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: NOTRUN -> [SKIP][77] ([Intel XE#1340]) +1 other test skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#3070])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
- shard-lnl: NOTRUN -> [SKIP][79] ([Intel XE#3070])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-2/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-bmg: NOTRUN -> [SKIP][80] ([Intel XE#2244]) +3 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#2244]) +3 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_fbcon_fbt@fbc:
- shard-bmg: NOTRUN -> [SKIP][82] ([Intel XE#4156])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_fbcon_fbt@fbc.html
* igt@kms_fbcon_fbt@psr:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#776])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_fbcon_fbt@psr.html
- shard-dg2-set2: NOTRUN -> [SKIP][84] ([Intel XE#776])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@kms_fbcon_fbt@psr.html
* igt@kms_feature_discovery@display-2x:
- shard-bmg: [PASS][85] -> [SKIP][86] ([Intel XE#2373])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@kms_feature_discovery@display-2x.html
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_feature_discovery@display-2x.html
* igt@kms_feature_discovery@display-3x:
- shard-lnl: NOTRUN -> [SKIP][87] ([Intel XE#703])
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-5/igt@kms_feature_discovery@display-3x.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-dg2-set2: [PASS][88] -> [SKIP][89] ([Intel XE#310]) +2 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-466/igt@kms_flip@2x-flip-vs-dpms.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a6-dp4:
- shard-dg2-set2: NOTRUN -> [FAIL][90] ([Intel XE#301] / [Intel XE#3321]) +1 other test fail
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a6-dp4.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4:
- shard-dg2-set2: NOTRUN -> [FAIL][91] ([Intel XE#301]) +11 other tests fail
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3:
- shard-bmg: [PASS][92] -> [FAIL][93] ([Intel XE#3321]) +1 other test fail
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html
* igt@kms_flip@2x-flip-vs-rmfb:
- shard-lnl: NOTRUN -> [SKIP][94] ([Intel XE#1421]) +5 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-3/igt@kms_flip@2x-flip-vs-rmfb.html
* igt@kms_flip@2x-flip-vs-suspend@cd-hdmi-a2-dp2:
- shard-dg2-set2: NOTRUN -> [ABORT][95] ([Intel XE#1033] / [Intel XE#2625]) +1 other test abort
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@kms_flip@2x-flip-vs-suspend@cd-hdmi-a2-dp2.html
* igt@kms_flip@2x-nonexisting-fb-interruptible:
- shard-dg2-set2: NOTRUN -> [SKIP][96] ([Intel XE#310])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_flip@2x-nonexisting-fb-interruptible.html
* igt@kms_flip@2x-plain-flip:
- shard-bmg: [PASS][97] -> [SKIP][98] ([Intel XE#2316]) +3 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-7/igt@kms_flip@2x-plain-flip.html
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-bmg: NOTRUN -> [SKIP][99] ([Intel XE#2316]) +1 other test skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@a-dp2:
- shard-bmg: NOTRUN -> [FAIL][100] ([Intel XE#3321]) +1 other test fail
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_flip@flip-vs-expired-vblank@a-dp2.html
* igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1:
- shard-lnl: [PASS][101] -> [FAIL][102] ([Intel XE#886]) +1 other test fail
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-lnl-4/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-4/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][103] ([Intel XE#1397]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#2293] / [Intel XE#2380]) +3 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][105] ([Intel XE#1397] / [Intel XE#1745]) +1 other test skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-5/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][106] ([Intel XE#2293]) +3 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-lnl: NOTRUN -> [SKIP][107] ([Intel XE#1401] / [Intel XE#1745]) +2 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#1401]) +2 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode.html
* igt@kms_force_connector_basic@force-connector-state:
- shard-lnl: NOTRUN -> [SKIP][109] ([Intel XE#352])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-3/igt@kms_force_connector_basic@force-connector-state.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][110] ([Intel XE#656]) +5 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary:
- shard-dg2-set2: NOTRUN -> [SKIP][111] ([Intel XE#651]) +32 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render:
- shard-bmg: NOTRUN -> [SKIP][112] ([Intel XE#2311]) +32 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt:
- shard-dg2-set2: [PASS][113] -> [SKIP][114] ([Intel XE#656])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-463/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt.html
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][115] ([Intel XE#4141]) +11 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][116] ([Intel XE#651]) +16 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][117] ([Intel XE#653]) +29 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff:
- shard-bmg: NOTRUN -> [SKIP][118] ([Intel XE#2313]) +28 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][119] ([Intel XE#656]) +42 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
- shard-bmg: NOTRUN -> [SKIP][120] ([Intel XE#2312]) +18 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
* igt@kms_hdr@static-toggle-dpms:
- shard-lnl: NOTRUN -> [SKIP][121] ([Intel XE#1503]) +1 other test skip
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_joiner@basic-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][122] ([Intel XE#346])
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_joiner@basic-big-joiner.html
- shard-dg2-set2: NOTRUN -> [SKIP][123] ([Intel XE#346])
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_joiner@basic-big-joiner.html
- shard-lnl: NOTRUN -> [SKIP][124] ([Intel XE#346])
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-2/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-ultra-joiner:
- shard-bmg: NOTRUN -> [SKIP][125] ([Intel XE#2934])
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
- shard-lnl: NOTRUN -> [SKIP][126] ([Intel XE#2934])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-3/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
* igt@kms_panel_fitting@legacy:
- shard-bmg: NOTRUN -> [SKIP][127] ([Intel XE#2486]) +1 other test skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_panel_fitting@legacy.html
* igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256:
- shard-dg2-set2: NOTRUN -> [FAIL][128] ([Intel XE#616]) +2 other tests fail
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-bmg: [PASS][129] -> [SKIP][130] ([Intel XE#2571])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-lnl: NOTRUN -> [SKIP][131] ([Intel XE#3307])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][132] ([Intel XE#4212]) +2 other tests dmesg-warn
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b:
- shard-bmg: NOTRUN -> [SKIP][133] ([Intel XE#2763]) +14 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25:
- shard-dg2-set2: NOTRUN -> [SKIP][134] ([Intel XE#2763] / [Intel XE#455]) +1 other test skip
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b:
- shard-dg2-set2: NOTRUN -> [SKIP][135] ([Intel XE#2763]) +2 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-a:
- shard-lnl: NOTRUN -> [SKIP][136] ([Intel XE#2763]) +11 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-a.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][137] ([Intel XE#870]) +2 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_pm_backlight@fade-with-suspend.html
- shard-bmg: NOTRUN -> [SKIP][138] ([Intel XE#870])
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc5-dpms:
- shard-lnl: [PASS][139] -> [FAIL][140] ([Intel XE#718]) +1 other test fail
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-lnl-1/igt@kms_pm_dc@dc5-dpms.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-5/igt@kms_pm_dc@dc5-dpms.html
* igt@kms_pm_dc@dc6-psr:
- shard-dg2-set2: NOTRUN -> [SKIP][141] ([Intel XE#1129])
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-bmg: NOTRUN -> [SKIP][142] ([Intel XE#1439] / [Intel XE#836])
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-bmg: NOTRUN -> [SKIP][143] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][144] ([Intel XE#1489]) +11 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf:
- shard-lnl: NOTRUN -> [SKIP][145] ([Intel XE#2893]) +6 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-bmg: NOTRUN -> [SKIP][146] ([Intel XE#1489]) +10 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-dg2-set2: NOTRUN -> [SKIP][147] ([Intel XE#1122]) +1 other test skip
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-psr2-cursor-plane-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][148] ([Intel XE#2850] / [Intel XE#929]) +15 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-lnl: NOTRUN -> [SKIP][149] ([Intel XE#1406]) +1 other test skip
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@kms_psr@psr-cursor-plane-onoff:
- shard-bmg: NOTRUN -> [SKIP][150] ([Intel XE#2234] / [Intel XE#2850]) +17 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_psr@psr-cursor-plane-onoff.html
* igt@kms_rotation_crc@primary-rotation-270:
- shard-dg2-set2: NOTRUN -> [SKIP][151] ([Intel XE#3414])
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_rotation_crc@primary-rotation-270.html
- shard-lnl: NOTRUN -> [SKIP][152] ([Intel XE#3414] / [Intel XE#3904]) +1 other test skip
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_rotation_crc@primary-rotation-270.html
* igt@kms_rotation_crc@primary-rotation-90:
- shard-bmg: NOTRUN -> [SKIP][153] ([Intel XE#3414] / [Intel XE#3904]) +2 other tests skip
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@kms_rotation_crc@primary-rotation-90.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-bmg: NOTRUN -> [SKIP][154] ([Intel XE#2413])
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-lnl: NOTRUN -> [SKIP][155] ([Intel XE#1435])
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing:
- shard-dg2-set2: [PASS][156] -> [SKIP][157] ([Intel XE#455])
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
* igt@kms_vblank@ts-continuation-idle@pipe-d-hdmi-a-3:
- shard-bmg: [PASS][158] -> [DMESG-WARN][159] ([Intel XE#877]) +1 other test dmesg-warn
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@kms_vblank@ts-continuation-idle@pipe-d-hdmi-a-3.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@kms_vblank@ts-continuation-idle@pipe-d-hdmi-a-3.html
* igt@kms_vrr@flip-suspend:
- shard-bmg: NOTRUN -> [SKIP][160] ([Intel XE#1499]) +2 other tests skip
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_vrr@flip-suspend.html
* igt@kms_vrr@flipline:
- shard-dg2-set2: NOTRUN -> [SKIP][161] ([Intel XE#455]) +17 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@kms_vrr@flipline.html
- shard-lnl: NOTRUN -> [FAIL][162] ([Intel XE#1522]) +3 other tests fail
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@kms_vrr@flipline.html
* igt@kms_vrr@negative-basic:
- shard-bmg: [PASS][163] -> [SKIP][164] ([Intel XE#1499])
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@kms_vrr@negative-basic.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-lnl: NOTRUN -> [SKIP][165] ([Intel XE#1499])
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@kms_writeback@writeback-check-output:
- shard-bmg: NOTRUN -> [SKIP][166] ([Intel XE#756])
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@kms_writeback@writeback-check-output.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-dg2-set2: NOTRUN -> [SKIP][167] ([Intel XE#756]) +1 other test skip
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-bmg: NOTRUN -> [SKIP][168] ([Intel XE#1091] / [Intel XE#2849])
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@sriov_basic@enable-vfs-autoprobe-off.html
- shard-lnl: NOTRUN -> [SKIP][169] ([Intel XE#1091] / [Intel XE#2849])
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-8/igt@sriov_basic@enable-vfs-autoprobe-off.html
* igt@xe_ccs@block-copy-uncompressed-inc-dimension@linear-uncompressed-compfmt0-vram01-system-196x196:
- shard-dg2-set2: [PASS][170] -> [DMESG-WARN][171] ([Intel XE#1033]) +24 other tests dmesg-warn
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@xe_ccs@block-copy-uncompressed-inc-dimension@linear-uncompressed-compfmt0-vram01-system-196x196.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_ccs@block-copy-uncompressed-inc-dimension@linear-uncompressed-compfmt0-vram01-system-196x196.html
* igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01:
- shard-dg2-set2: [PASS][172] -> [ABORT][173] ([Intel XE#2625])
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01.html
* igt@xe_copy_basic@mem-copy-linear-0x3fff:
- shard-dg2-set2: NOTRUN -> [SKIP][174] ([Intel XE#1123]) +2 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_copy_basic@mem-copy-linear-0x3fff.html
* igt@xe_copy_basic@mem-set-linear-0xfffe:
- shard-dg2-set2: NOTRUN -> [SKIP][175] ([Intel XE#1126])
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0xfffe.html
* igt@xe_eudebug@basic-client:
- shard-lnl: NOTRUN -> [SKIP][176] ([Intel XE#2905]) +9 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@xe_eudebug@basic-client.html
* igt@xe_eudebug@basic-vm-bind-metadata-discovery:
- shard-bmg: NOTRUN -> [SKIP][177] ([Intel XE#2905]) +11 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html
* igt@xe_eudebug_online@preempt-breakpoint:
- shard-dg2-set2: NOTRUN -> [SKIP][178] ([Intel XE#2905]) +8 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@xe_eudebug_online@preempt-breakpoint.html
* igt@xe_evict@evict-beng-large-cm:
- shard-lnl: NOTRUN -> [SKIP][179] ([Intel XE#688]) +6 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@xe_evict@evict-beng-large-cm.html
* igt@xe_exec_basic@multigpu-once-null-rebind:
- shard-bmg: NOTRUN -> [SKIP][180] ([Intel XE#2322]) +11 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_exec_basic@multigpu-once-null-rebind.html
* igt@xe_exec_basic@multigpu-once-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][181] ([Intel XE#1392]) +8 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-1/igt@xe_exec_basic@multigpu-once-userptr-invalidate.html
- shard-dg2-set2: NOTRUN -> [SKIP][182] ([Intel XE#1392])
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_exec_basic@multigpu-once-userptr-invalidate.html
* igt@xe_exec_fault_mode@once-bindexecqueue-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][183] ([Intel XE#288]) +28 other tests skip
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_exec_fault_mode@once-bindexecqueue-imm.html
* igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
- shard-bmg: NOTRUN -> [SKIP][184] ([Intel XE#2229])
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html
* igt@xe_live_ktest@xe_migrate:
- shard-bmg: [PASS][185] -> [SKIP][186] ([Intel XE#1192])
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@xe_live_ktest@xe_migrate.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@xe_live_ktest@xe_migrate.html
* igt@xe_media_fill@media-fill:
- shard-dg2-set2: NOTRUN -> [SKIP][187] ([Intel XE#560])
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_media_fill@media-fill.html
* igt@xe_mmap@pci-membarrier:
- shard-lnl: NOTRUN -> [SKIP][188] ([Intel XE#4045])
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-7/igt@xe_mmap@pci-membarrier.html
* igt@xe_module_load@load:
- shard-bmg: ([PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [PASS][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [PASS][212]) -> ([PASS][213], [PASS][214], [PASS][215], [PASS][216], [PASS][217], [PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223], [PASS][224], [PASS][225], [PASS][226], [PASS][227], [PASS][228], [PASS][229], [PASS][230], [PASS][231], [PASS][232], [SKIP][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237], [PASS][238]) ([Intel XE#2457])
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-7/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-4/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-4/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-4/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-4/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-7/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@xe_module_load@load.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@xe_module_load@load.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@xe_module_load@load.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@xe_module_load@load.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-7/igt@xe_module_load@load.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-7/igt@xe_module_load@load.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@xe_module_load@load.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@xe_module_load@load.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@xe_module_load@load.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@xe_module_load@load.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@xe_module_load@load.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@xe_module_load@load.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@xe_module_load@load.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@xe_module_load@load.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@xe_module_load@load.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@xe_module_load@load.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@xe_module_load@load.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@xe_module_load@load.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@xe_module_load@load.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@xe_module_load@load.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@xe_module_load@load.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@xe_module_load@load.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_module_load@load.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@xe_module_load@load.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@xe_module_load@load.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@xe_module_load@load.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_module_load@load.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_module_load@load.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_module_load@load.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@xe_module_load@load.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@xe_module_load@load.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@xe_module_load@load.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_module_load@load.html
* igt@xe_oa@syncs-ufence-wait-cfg:
- shard-dg2-set2: NOTRUN -> [SKIP][239] ([Intel XE#2541] / [Intel XE#3573]) +4 other tests skip
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_oa@syncs-ufence-wait-cfg.html
* igt@xe_pat@pat-index-xehpc:
- shard-dg2-set2: NOTRUN -> [SKIP][240] ([Intel XE#2838] / [Intel XE#979])
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelp:
- shard-lnl: NOTRUN -> [SKIP][241] ([Intel XE#977])
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-8/igt@xe_pat@pat-index-xelp.html
- shard-bmg: NOTRUN -> [SKIP][242] ([Intel XE#2245])
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@xe_pat@pat-index-xelp.html
* igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [FAIL][243] ([Intel XE#1173])
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html
* igt@xe_pm@d3cold-multiple-execs:
- shard-bmg: NOTRUN -> [SKIP][244] ([Intel XE#2284])
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_pm@d3cold-multiple-execs.html
- shard-dg2-set2: NOTRUN -> [SKIP][245] ([Intel XE#2284] / [Intel XE#366])
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@xe_pm@d3cold-multiple-execs.html
- shard-lnl: NOTRUN -> [SKIP][246] ([Intel XE#2284] / [Intel XE#366])
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-8/igt@xe_pm@d3cold-multiple-execs.html
* igt@xe_pm@s2idle-exec-after:
- shard-dg2-set2: NOTRUN -> [ABORT][247] ([Intel XE#1358])
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_pm@s2idle-exec-after.html
* igt@xe_pm@s3-exec-after:
- shard-bmg: [PASS][248] -> [DMESG-WARN][249] ([Intel XE#4172] / [Intel XE#569])
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@xe_pm@s3-exec-after.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@xe_pm@s3-exec-after.html
* igt@xe_pm@s3-vm-bind-userptr:
- shard-bmg: NOTRUN -> [DMESG-WARN][250] ([Intel XE#4172] / [Intel XE#569])
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@xe_pm@s3-vm-bind-userptr.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-lnl: NOTRUN -> [ABORT][251] ([Intel XE#1358] / [Intel XE#1607]) +1 other test abort
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-5/igt@xe_pm@s4-vm-bind-unbind-all.html
* igt@xe_query@multigpu-query-mem-usage:
- shard-bmg: NOTRUN -> [SKIP][252] ([Intel XE#944]) +2 other tests skip
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@xe_query@multigpu-query-mem-usage.html
- shard-lnl: NOTRUN -> [SKIP][253] ([Intel XE#944]) +2 other tests skip
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-3/igt@xe_query@multigpu-query-mem-usage.html
* igt@xe_query@multigpu-query-uc-fw-version-guc:
- shard-dg2-set2: NOTRUN -> [SKIP][254] ([Intel XE#944]) +2 other tests skip
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_query@multigpu-query-uc-fw-version-guc.html
* igt@xe_wedged@wedged-mode-toggle:
- shard-dg2-set2: NOTRUN -> [ABORT][255] ([Intel XE#3075] / [Intel XE#3084])
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_wedged@wedged-mode-toggle.html
#### Possible fixes ####
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-bmg: [SKIP][256] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][257] +2 other tests pass
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
- shard-bmg: [SKIP][258] ([Intel XE#2291]) -> [PASS][259] +2 other tests pass
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
- shard-dg2-set2: [SKIP][260] ([Intel XE#309]) -> [PASS][261] +2 other tests pass
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-dg2-set2: [SKIP][262] ([Intel XE#455]) -> [PASS][263]
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
- shard-dg2-set2: [SKIP][264] ([Intel XE#310]) -> [PASS][265] +3 other tests pass
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-bmg: [SKIP][266] ([Intel XE#2316]) -> [PASS][267] +1 other test pass
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3:
- shard-bmg: [FAIL][268] ([Intel XE#3321]) -> [PASS][269] +2 other tests pass
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ab-dp2-hdmi-a3.html
* igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-bmg: [FAIL][270] ([Intel XE#2882]) -> [PASS][271] +1 other test pass
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-7/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
* igt@kms_flip@blocking-wf_vblank:
- shard-dg2-set2: [FAIL][272] ([Intel XE#2882]) -> [PASS][273]
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@kms_flip@blocking-wf_vblank.html
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_flip@blocking-wf_vblank.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-dg2-set2: [DMESG-WARN][274] ([Intel XE#2955]) -> [PASS][275]
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@kms_flip@flip-vs-suspend-interruptible.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip@flip-vs-suspend@d-dp4:
- shard-dg2-set2: [INCOMPLETE][276] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][277] +1 other test pass
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-466/igt@kms_flip@flip-vs-suspend@d-dp4.html
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@kms_flip@flip-vs-suspend@d-dp4.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render:
- shard-dg2-set2: [SKIP][278] ([Intel XE#656]) -> [PASS][279] +4 other tests pass
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render.html
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render.html
* igt@kms_hdr@static-toggle-dpms:
- shard-dg2-set2: [DMESG-WARN][280] ([Intel XE#1033]) -> [PASS][281] +26 other tests pass
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_hdr@static-toggle-dpms.html
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [FAIL][282] ([Intel XE#2159]) -> [PASS][283] +1 other test pass
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-lnl-6/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-lnl-6/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue:
- shard-dg2-set2: [SKIP][284] ([Intel XE#1392]) -> [PASS][285] +4 other tests pass
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue.html
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue.html
* igt@xe_exec_sip_eudebug@wait-writesip-nodebug@drm_xe_engine_class_render0:
- shard-bmg: [DMESG-WARN][286] ([Intel XE#4172]) -> [PASS][287] +20 other tests pass
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@xe_exec_sip_eudebug@wait-writesip-nodebug@drm_xe_engine_class_render0.html
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@xe_exec_sip_eudebug@wait-writesip-nodebug@drm_xe_engine_class_render0.html
* igt@xe_module_load@load:
- shard-dg2-set2: ([PASS][288], [PASS][289], [PASS][290], [PASS][291], [PASS][292], [PASS][293], [PASS][294], [PASS][295], [PASS][296], [PASS][297], [PASS][298], [PASS][299], [PASS][300], [PASS][301], [PASS][302], [PASS][303], [PASS][304], [PASS][305], [PASS][306], [PASS][307], [PASS][308], [PASS][309], [SKIP][310], [PASS][311], [PASS][312], [PASS][313]) ([Intel XE#378]) -> ([PASS][314], [PASS][315], [PASS][316], [PASS][317], [PASS][318], [PASS][319], [PASS][320], [PASS][321], [PASS][322], [PASS][323], [PASS][324], [PASS][325], [PASS][326], [PASS][327], [PASS][328], [PASS][329], [PASS][330], [PASS][331], [PASS][332], [PASS][333], [PASS][334], [PASS][335], [PASS][336])
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@xe_module_load@load.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@xe_module_load@load.html
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-436/igt@xe_module_load@load.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-436/igt@xe_module_load@load.html
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-436/igt@xe_module_load@load.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-463/igt@xe_module_load@load.html
[294]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-466/igt@xe_module_load@load.html
[295]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-466/igt@xe_module_load@load.html
[296]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@xe_module_load@load.html
[297]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@xe_module_load@load.html
[298]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@xe_module_load@load.html
[299]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@xe_module_load@load.html
[300]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@xe_module_load@load.html
[301]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-463/igt@xe_module_load@load.html
[302]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@xe_module_load@load.html
[303]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@xe_module_load@load.html
[304]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@xe_module_load@load.html
[305]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@xe_module_load@load.html
[306]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@xe_module_load@load.html
[307]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-436/igt@xe_module_load@load.html
[308]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-466/igt@xe_module_load@load.html
[309]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@xe_module_load@load.html
[310]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@xe_module_load@load.html
[311]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@xe_module_load@load.html
[312]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-463/igt@xe_module_load@load.html
[313]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@xe_module_load@load.html
[314]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@xe_module_load@load.html
[315]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@xe_module_load@load.html
[316]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@xe_module_load@load.html
[317]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_module_load@load.html
[318]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_module_load@load.html
[319]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_module_load@load.html
[320]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@xe_module_load@load.html
[321]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@xe_module_load@load.html
[322]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@xe_module_load@load.html
[323]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_module_load@load.html
[324]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_module_load@load.html
[325]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@xe_module_load@load.html
[326]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@xe_module_load@load.html
[327]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_module_load@load.html
[328]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@xe_module_load@load.html
[329]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_module_load@load.html
[330]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_module_load@load.html
[331]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_module_load@load.html
[332]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@xe_module_load@load.html
[333]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@xe_module_load@load.html
[334]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@xe_module_load@load.html
[335]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@xe_module_load@load.html
[336]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_module_load@load.html
* igt@xe_pm@s3-multiple-execs:
- shard-bmg: [DMESG-WARN][337] ([Intel XE#4172] / [Intel XE#569]) -> [PASS][338] +2 other tests pass
[337]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@xe_pm@s3-multiple-execs.html
[338]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@xe_pm@s3-multiple-execs.html
* igt@xe_pm@s3-vm-bind-unbind-all:
- shard-dg2-set2: [DMESG-WARN][339] ([Intel XE#1033] / [Intel XE#569]) -> [PASS][340]
[339]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@xe_pm@s3-vm-bind-unbind-all.html
[340]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_pm@s3-vm-bind-unbind-all.html
#### Warnings ####
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6:
- shard-dg2-set2: [SKIP][341] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][342] ([Intel XE#787]) +3 other tests skip
[341]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6.html
[342]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-466/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-d-hdmi-a-6:
- shard-dg2-set2: [SKIP][343] ([Intel XE#787]) -> [SKIP][344] ([Intel XE#455] / [Intel XE#787]) +2 other tests skip
[343]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-d-hdmi-a-6.html
[344]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-d-hdmi-a-6.html
* igt@kms_content_protection@lic-type-0:
- shard-dg2-set2: [SKIP][345] ([Intel XE#455]) -> [FAIL][346] ([Intel XE#1178])
[345]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_content_protection@lic-type-0.html
[346]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@kms_content_protection@lic-type-0.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
- shard-dg2-set2: [SKIP][347] ([Intel XE#455] / [i915#3804]) -> [SKIP][348] ([i915#3804])
[347]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html
[348]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-bmg: [FAIL][349] ([Intel XE#3321]) -> [SKIP][350] ([Intel XE#2316])
[349]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
[350]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
- shard-dg2-set2: [SKIP][351] ([Intel XE#310]) -> [FAIL][352] ([Intel XE#301])
[351]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
[352]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3:
- shard-bmg: [DMESG-FAIL][353] ([Intel XE#4172]) -> [FAIL][354] ([Intel XE#3321]) +1 other test fail
[353]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3.html
[354]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@cd-dp2-hdmi-a3.html
* igt@kms_flip@2x-modeset-vs-vblank-race:
- shard-bmg: [SKIP][355] ([Intel XE#2316]) -> [DMESG-WARN][356] ([Intel XE#4172])
[355]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-4/igt@kms_flip@2x-modeset-vs-vblank-race.html
[356]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@kms_flip@2x-modeset-vs-vblank-race.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
- shard-dg2-set2: [SKIP][357] ([Intel XE#656]) -> [SKIP][358] ([Intel XE#651]) +12 other tests skip
[357]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
[358]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][359] ([Intel XE#2312]) -> [SKIP][360] ([Intel XE#2311]) +13 other tests skip
[359]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render.html
[360]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff:
- shard-dg2-set2: [SKIP][361] ([Intel XE#651]) -> [SKIP][362] ([Intel XE#656]) +6 other tests skip
[361]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html
[362]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][363] ([Intel XE#4141]) -> [SKIP][364] ([Intel XE#2312]) +8 other tests skip
[363]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
[364]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][365] ([Intel XE#2312]) -> [SKIP][366] ([Intel XE#4141]) +8 other tests skip
[365]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
[366]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt:
- shard-bmg: [SKIP][367] ([Intel XE#2311]) -> [SKIP][368] ([Intel XE#2312]) +15 other tests skip
[367]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt.html
[368]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
- shard-bmg: [SKIP][369] ([Intel XE#2312]) -> [SKIP][370] ([Intel XE#2313]) +12 other tests skip
[369]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
[370]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt:
- shard-bmg: [SKIP][371] ([Intel XE#2313]) -> [SKIP][372] ([Intel XE#2312]) +9 other tests skip
[371]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt.html
[372]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2-set2: [SKIP][373] ([Intel XE#653]) -> [SKIP][374] ([Intel XE#656]) +5 other tests skip
[373]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
[374]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt:
- shard-dg2-set2: [SKIP][375] ([Intel XE#656]) -> [SKIP][376] ([Intel XE#653]) +10 other tests skip
[375]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt.html
[376]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg2-set2: [SKIP][377] ([Intel XE#362]) -> [FAIL][378] ([Intel XE#1729])
[377]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern.html
[378]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][379] ([Intel XE#2426]) -> [SKIP][380] ([Intel XE#2509])
[379]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[380]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
- shard-dg2-set2: [SKIP][381] ([Intel XE#1500]) -> [SKIP][382] ([Intel XE#362])
[381]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-466/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[382]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@xe_ccs@suspend-resume:
- shard-dg2-set2: [DMESG-WARN][383] ([Intel XE#1033]) -> [ABORT][384] ([Intel XE#2625])
[383]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-434/igt@xe_ccs@suspend-resume.html
[384]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-432/igt@xe_ccs@suspend-resume.html
* igt@xe_live_ktest@xe_eudebug:
- shard-bmg: [SKIP][385] ([Intel XE#2833]) -> [SKIP][386] ([Intel XE#1192])
[385]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-1/igt@xe_live_ktest@xe_eudebug.html
[386]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-6/igt@xe_live_ktest@xe_eudebug.html
* igt@xe_peer2peer@write:
- shard-dg2-set2: [SKIP][387] ([Intel XE#1061]) -> [FAIL][388] ([Intel XE#1173])
[387]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@xe_peer2peer@write.html
[388]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-435/igt@xe_peer2peer@write.html
* igt@xe_pm@s3-exec-after:
- shard-dg2-set2: [ABORT][389] ([Intel XE#1358]) -> [DMESG-WARN][390] ([Intel XE#1033] / [Intel XE#569])
[389]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-432/igt@xe_pm@s3-exec-after.html
[390]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-463/igt@xe_pm@s3-exec-after.html
* igt@xe_pm@s4-vm-bind-prefetch:
- shard-dg2-set2: [ABORT][391] ([Intel XE#1033] / [Intel XE#1358]) -> [ABORT][392] ([Intel XE#1358])
[391]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-dg2-435/igt@xe_pm@s4-vm-bind-prefetch.html
[392]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-dg2-434/igt@xe_pm@s4-vm-bind-prefetch.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-bmg: [ABORT][393] ([Intel XE#1358] / [Intel XE#1607] / [Intel XE#4172]) -> [ABORT][394] ([Intel XE#1358] / [Intel XE#1607])
[393]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8221/shard-bmg-4/igt@xe_pm@s4-vm-bind-unbind-all.html
[394]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/shard-bmg-5/igt@xe_pm@s4-vm-bind-unbind-all.html
[Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
[Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1152]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1152
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
[Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
[Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1467
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1522
[Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2159]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2159
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2323
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#2571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2571
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2625
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
[Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
[Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
[Intel XE#2955]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2955
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#3070]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3070
[Intel XE#3075]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3075
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#3084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3084
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3157]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3157
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
[Intel XE#3279]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3279
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
[Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
[Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
[Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
[Intel XE#352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/352
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4010]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4010
[Intel XE#4045]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4045
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4156]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4156
[Intel XE#4172]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4172
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
[Intel XE#569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/569
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
[Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
[Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
Build changes
-------------
* IGT: IGT_8221 -> IGTPW_12535
* Linux: xe-2587-e4653d321048b16b1373c8ddf0657590963c5897 -> xe-2590-e300f8946bc0ce873e4c4bc1a2cd05e7b617b1db
IGTPW_12535: 354b5b707cc8dd56d902670b274f2d137e5a4a94 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8221: ad1f57286d15d083b08c94f3d93600db85f9945b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-2587-e4653d321048b16b1373c8ddf0657590963c5897: e4653d321048b16b1373c8ddf0657590963c5897
xe-2590-e300f8946bc0ce873e4c4bc1a2cd05e7b617b1db: e300f8946bc0ce873e4c4bc1a2cd05e7b617b1db
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12535/index.html
[-- Attachment #2: Type: text/html, Size: 108965 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp
2025-02-03 13:38 ` [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp Francois Dugast
@ 2025-02-04 5:55 ` Zbigniew Kempczyński
2025-02-04 8:58 ` Francois Dugast
0 siblings, 1 reply; 13+ messages in thread
From: Zbigniew Kempczyński @ 2025-02-04 5:55 UTC (permalink / raw)
To: Francois Dugast; +Cc: igt-dev
On Mon, Feb 03, 2025 at 02:38:46PM +0100, Francois Dugast wrote:
> Some of the buffers are aligned on 4K. Ensure 64K alignment
> in preparation for a switch to using xe_bo_create() during
> buffers creation.
>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
> lib/intel_compute.c | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/lib/intel_compute.c b/lib/intel_compute.c
> index f1520aad4..983b2e2c3 100644
> --- a/lib/intel_compute.c
> +++ b/lib/intel_compute.c
> @@ -24,9 +24,9 @@
> #define MEDIA_STATE_FLUSH 0x0
> #define MAX(X, Y) (((X) > (Y)) ? (X) : (Y))
> #define SIZE_DATA 64
> -#define SIZE_BATCH 0x1000
> -#define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x1000)
> -#define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x1000)
> +#define SIZE_BATCH 0x10000
> +#define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> +#define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> #define ADDR_BATCH 0x100000ULL
> #define ADDR_INPUT 0x200000ULL
> #define ADDR_OUTPUT 0x300000ULL
> @@ -38,7 +38,7 @@
>
> #define ADDR_GENERAL_STATE_BASE 0x80000000ULL
> #define ADDR_INSTRUCTION_STATE_BASE 0x90000000ULL
> -#define OFFSET_BINDING_TABLE 0x1000
> +#define OFFSET_BINDING_TABLE 0x10000
>
> #define XE2_ADDR_STATE_CONTEXT_DATA_BASE 0x900000ULL
> #define OFFSET_STATE_SIP 0xFFFF0000
> @@ -746,8 +746,8 @@ static void xehp_create_surface_state(uint32_t *addr_bo_buffer_batch,
> addr_bo_buffer_batch[b++] = 0x00000000;
> addr_bo_buffer_batch[b++] = 0x00000000;
>
> - addr_bo_buffer_batch[b++] = 0x00001000;
> - addr_bo_buffer_batch[b++] = 0x00001040;
> + addr_bo_buffer_batch[b++] = 0x00010000;
> + addr_bo_buffer_batch[b++] = 0x00010040;
> addr_bo_buffer_batch[b++] = 0x00000000;
> addr_bo_buffer_batch[b++] = 0x00000000;
> addr_bo_buffer_batch[b++] = 0x00000000;
> @@ -825,7 +825,7 @@ static void xehp_compute_exec_compute(uint32_t *addr_bo_buffer_batch,
> addr_bo_buffer_batch[b++] = GEN8_3DSTATE_BINDING_TABLE_POOL_ALLOC | 2;
> addr_bo_buffer_batch[b++] = (addr_surface_state_base & 0xffffffff) | 0x6;
> addr_bo_buffer_batch[b++] = addr_surface_state_base >> 32;
> - addr_bo_buffer_batch[b++] = 0x00002000;
> + addr_bo_buffer_batch[b++] = 0x00012000;
I've checked this and it seems this line should be removed
(0x001ff000 is enough and pool alloc has 4 and not 5 dwords).
I mean this dword stays here by accident during reversing.
Rest looks good to me. With this nit:
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
--
Zbigniew
> addr_bo_buffer_batch[b++] = 0x001ff000;
>
> addr_bo_buffer_batch[b++] = XEHP_COMPUTE_WALKER | 0x25;
> @@ -852,7 +852,7 @@ static void xehp_compute_exec_compute(uint32_t *addr_bo_buffer_batch,
> addr_bo_buffer_batch[b++] = 0x00000000;
> addr_bo_buffer_batch[b++] = 0x00180000;
> addr_bo_buffer_batch[b++] = 0x00000000;
> - addr_bo_buffer_batch[b++] = 0x00001080;
> + addr_bo_buffer_batch[b++] = 0x00010080;
> addr_bo_buffer_batch[b++] = 0x0c000002;
>
> addr_bo_buffer_batch[b++] = 0x00000008;
> @@ -895,10 +895,10 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
> .size = 0x100000,
> .name = "dynamic state base"},
> { .addr = ADDR_SURFACE_STATE_BASE,
> - .size = 0x1000,
> + .size = 0x10000,
> .name = "surface state base"},
> { .addr = ADDR_GENERAL_STATE_BASE + OFFSET_INDIRECT_DATA_START,
> - .size = 0x1000,
> + .size = 0x10000,
> .name = "indirect object base"},
> { .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
> .name = "addr input"},
> @@ -907,7 +907,7 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
> { .addr = ADDR_GENERAL_STATE_BASE, .size = 0x100000,
> .name = "general state base" },
> { .addr = ADDR_SURFACE_STATE_BASE + OFFSET_BINDING_TABLE,
> - .size = 0x1000,
> + .size = 0x10000,
> .name = "binding table" },
> { .addr = ADDR_BATCH, .size = SIZE_BATCH,
> .name = "batch" },
> @@ -918,7 +918,7 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
> bo_execenv_create(fd, &execenv, eci);
>
> /* Sets Kernel size */
> - bo_dict[0].size = ALIGN(size, 0x1000);
> + bo_dict[0].size = ALIGN(size, 0x10000);
>
> bo_execenv_bind(&execenv, bo_dict, XEHP_BO_DICT_ENTRIES);
>
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe
2025-02-03 13:38 ` [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe Francois Dugast
@ 2025-02-04 6:49 ` Zbigniew Kempczyński
2025-02-04 7:47 ` Dandamudi, Priyanka
2025-02-04 9:01 ` Francois Dugast
0 siblings, 2 replies; 13+ messages in thread
From: Zbigniew Kempczyński @ 2025-02-04 6:49 UTC (permalink / raw)
To: Francois Dugast; +Cc: igt-dev
On Mon, Feb 03, 2025 at 02:38:48PM +0100, Francois Dugast wrote:
> When Xe is used, create the VM in LR mode as this is what the
> compute UMD does to run compute kernels. This makes those tests
> more representative of real world scenarios. A side effect is
> that user fences must be used.
>
> v2: Minimize changes, stick to xe_vm_bind_userptr_async()
>
> v3: Also use user fences in preempt exec
>
> v4: Do not rely on user pointers due to atomics use in sip,
> rebase after 64K alignment, fix waiting times and order
> in preempt exec (Zbigniew)
>
> CC: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
> lib/intel_compute.c | 164 +++++++++++++++++++++++++++++++++++---------
> 1 file changed, 133 insertions(+), 31 deletions(-)
>
> diff --git a/lib/intel_compute.c b/lib/intel_compute.c
> index 0e1179b62..6f6b4006d 100644
> --- a/lib/intel_compute.c
> +++ b/lib/intel_compute.c
> @@ -27,6 +27,8 @@
> #define SIZE_BATCH 0x10000
> #define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> #define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> +#define ADDR_SYNC 0x010000ULL
> +#define ADDR_SYNC2 0x020000ULL
> #define ADDR_BATCH 0x100000ULL
> #define ADDR_INPUT 0x200000ULL
> #define ADDR_OUTPUT 0x300000ULL
> @@ -43,6 +45,8 @@
> #define XE2_ADDR_STATE_CONTEXT_DATA_BASE 0x900000ULL
> #define OFFSET_STATE_SIP 0xFFFF0000
>
> +#define USER_FENCE_VALUE 0xdeadbeefdeadbeefull
> +
> /*
> * TGP - ThreadGroup Preemption
> * WMTP - Walker Mid Thread Preemption
> @@ -58,6 +62,10 @@ struct bo_dict_entry {
> uint32_t handle;
> };
>
> +struct bo_sync {
> + uint64_t sync;
> +};
> +
> struct bo_execenv {
> int fd;
> enum intel_driver driver;
> @@ -81,7 +89,7 @@ static void bo_execenv_create(int fd, struct bo_execenv *execenv,
> execenv->driver = get_intel_driver(fd);
>
> if (execenv->driver == INTEL_DRIVER_XE) {
> - execenv->vm = xe_vm_create(fd, 0, 0);
> + execenv->vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
>
> if (eci) {
> execenv->exec_queue = xe_exec_queue_create(fd, execenv->vm,
> @@ -107,8 +115,8 @@ static void bo_execenv_destroy(struct bo_execenv *execenv)
> igt_assert(execenv);
>
> if (execenv->driver == INTEL_DRIVER_XE) {
> - xe_vm_destroy(execenv->fd, execenv->vm);
> xe_exec_queue_destroy(execenv->fd, execenv->exec_queue);
> + xe_vm_destroy(execenv->fd, execenv->vm);
> }
> }
>
> @@ -119,18 +127,32 @@ static void bo_execenv_bind(struct bo_execenv *execenv,
>
> if (execenv->driver == INTEL_DRIVER_XE) {
> uint32_t vm = execenv->vm;
> - uint64_t alignment = xe_get_default_alignment(fd);
> - struct drm_xe_sync sync = { 0 };
> -
> - sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
> - sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
> - sync.handle = syncobj_create(fd, 0);
> + uint32_t exec_queue = execenv->exec_queue;
> + struct bo_sync *bo_sync;
> + size_t bo_size = sizeof(*bo_sync);
> + uint32_t bo = 0;
> + struct drm_xe_sync sync = {
> + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> + .timeline_value = USER_FENCE_VALUE,
> + };
> +
> + bo_size = xe_bb_size(fd, bo_size);
> + bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> + bo_sync = xe_bo_map(fd, bo, bo_size);
> + sync.addr = to_user_pointer(&bo_sync->sync);
>
> for (int i = 0; i < entries; i++) {
> - bo_dict[i].data = aligned_alloc(alignment, bo_dict[i].size);
> - xe_vm_bind_userptr_async(fd, vm, 0, to_user_pointer(bo_dict[i].data),
> - bo_dict[i].addr, bo_dict[i].size, &sync, 1);
> - syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0, NULL);
> + bo_sync->sync = 0;
> + bo_dict[i].handle = xe_bo_create(fd, execenv->vm, bo_dict[i].size,
> + vram_if_possible(fd, 0),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> + bo_dict[i].data = xe_bo_map(fd, bo_dict[i].handle, bo_dict[i].size);
> + xe_vm_bind_async(fd, vm, 0, bo_dict[i].handle, 0, bo_dict[i].addr,
> + bo_dict[i].size, &sync, 1);
> + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue,
> + INT64_MAX);
This binding/unbinding pattern occurs couple of time in the code,
maybe it is worth to add some helpers to avoid code duplication.
Code looks good to me, if there will be no regression on CI:
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
--
Zbigniew
> memset(bo_dict[i].data, 0, bo_dict[i].size);
>
> igt_debug("[i: %2d name: %20s] data: %p, addr: %16llx, size: %llx\n",
> @@ -139,7 +161,8 @@ static void bo_execenv_bind(struct bo_execenv *execenv,
> (long long)bo_dict[i].size);
> }
>
> - syncobj_destroy(fd, sync.handle);
> + munmap(bo_sync, bo_size);
> + gem_close(fd, bo);
> } else {
> struct drm_i915_gem_execbuffer2 *execbuf = &execenv->execbuf;
> struct drm_i915_gem_exec_object2 *obj;
> @@ -177,19 +200,33 @@ static void bo_execenv_unbind(struct bo_execenv *execenv,
>
> if (execenv->driver == INTEL_DRIVER_XE) {
> uint32_t vm = execenv->vm;
> - struct drm_xe_sync sync = { 0 };
> -
> - sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
> - sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
> - sync.handle = syncobj_create(fd, 0);
> + uint32_t exec_queue = execenv->exec_queue;
> + struct bo_sync *bo_sync;
> + size_t bo_size = sizeof(*bo_sync);
> + uint32_t bo = 0;
> + struct drm_xe_sync sync = {
> + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> + .timeline_value = USER_FENCE_VALUE,
> + };
> +
> + bo_size = xe_bb_size(fd, bo_size);
> + bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> + bo_sync = xe_bo_map(fd, bo, bo_size);
> + sync.addr = to_user_pointer(&bo_sync->sync);
>
> for (int i = 0; i < entries; i++) {
> + bo_sync->sync = 0;
> xe_vm_unbind_async(fd, vm, 0, 0, bo_dict[i].addr, bo_dict[i].size, &sync, 1);
> - syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0, NULL);
> - free(bo_dict[i].data);
> + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue,
> + INT64_MAX);
> + munmap(bo_dict[i].data, bo_dict[i].size);
> + gem_close(fd, bo_dict[i].handle);
> }
>
> - syncobj_destroy(fd, sync.handle);
> + munmap(bo_sync, bo_size);
> + gem_close(fd, bo);
> } else {
> for (int i = 0; i < entries; i++) {
> gem_close(fd, bo_dict[i].handle);
> @@ -204,7 +241,32 @@ static void bo_execenv_exec(struct bo_execenv *execenv, uint64_t start_addr)
> int fd = execenv->fd;
>
> if (execenv->driver == INTEL_DRIVER_XE) {
> - xe_exec_wait(fd, execenv->exec_queue, start_addr);
> + uint32_t exec_queue = execenv->exec_queue;
> + struct bo_sync *bo_sync;
> + size_t bo_size = sizeof(*bo_sync);
> + uint32_t bo = 0;
> + struct drm_xe_sync sync = {
> + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> + .timeline_value = USER_FENCE_VALUE,
> + };
> +
> + bo_size = xe_bb_size(fd, bo_size);
> + bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> + bo_sync = xe_bo_map(fd, bo, bo_size);
> + sync.addr = to_user_pointer(&bo_sync->sync);
> + xe_vm_bind_async(fd, execenv->vm, 0, bo, 0, ADDR_SYNC, bo_size, &sync, 1);
> + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue, INT64_MAX);
> +
> + sync.addr = ADDR_SYNC;
> + bo_sync->sync = 0;
> +
> + xe_exec_sync(fd, exec_queue, start_addr, &sync, 1);
> + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue, INT64_MAX);
> +
> + munmap(bo_sync, bo_size);
> + gem_close(fd, bo);
> } else {
> struct drm_i915_gem_execbuffer2 *execbuf = &execenv->execbuf;
> struct drm_i915_gem_exec_object2 *obj = execenv->obj;
> @@ -1803,15 +1865,22 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
> float *dinput;
> unsigned int long_kernel_loop_count;
> struct drm_xe_sync sync_long = {
> - .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
> + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> - .handle = syncobj_create(fd, 0),
> + .timeline_value = USER_FENCE_VALUE,
> };
> + struct bo_sync *bo_sync_long;
> + size_t bo_size_long = sizeof(*bo_sync_long);
> + uint32_t bo_long = 0;
> struct drm_xe_sync sync_short = {
> - .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
> + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> - .handle = syncobj_create(fd, 0),
> + .timeline_value = USER_FENCE_VALUE,
> };
> + struct bo_sync *bo_sync_short;
> + size_t bo_size_short = sizeof(*bo_sync_short);
> + uint32_t bo_short = 0;
> + int64_t timeout_short = 1;
>
> if (threadgroup_preemption)
> long_kernel_loop_count = TGP_long_kernel_loop_count;
> @@ -1824,6 +1893,32 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
> bo_execenv_create(fd, &execenv_short, eci);
> bo_execenv_create(fd, &execenv_long, eci);
>
> + /* Prepare sync object for long */
> + bo_size_long = xe_bb_size(fd, bo_size_long);
> + bo_long = xe_bo_create(fd, execenv_long.vm, bo_size_long, vram_if_possible(fd, 0),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> + bo_sync_long = xe_bo_map(fd, bo_long, bo_size_long);
> + sync_long.addr = to_user_pointer(&bo_sync_long->sync);
> + xe_vm_bind_async(fd, execenv_long.vm, 0, bo_long, 0, ADDR_SYNC, bo_size_long,
> + &sync_long, 1);
> + xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE, execenv_long.exec_queue,
> + INT64_MAX);
> + bo_sync_long->sync = 0;
> + sync_long.addr = ADDR_SYNC;
> +
> + /* Prepare sync object for short */
> + bo_size_short = xe_bb_size(fd, bo_size_short);
> + bo_short = xe_bo_create(fd, execenv_short.vm, bo_size_short, vram_if_possible(fd, 0),
> + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> + bo_sync_short = xe_bo_map(fd, bo_short, bo_size_short);
> + sync_short.addr = to_user_pointer(&bo_sync_short->sync);
> + xe_vm_bind_async(fd, execenv_short.vm, 0, bo_short, 0, ADDR_SYNC2, bo_size_short,
> + &sync_short, 1);
> + xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE, execenv_short.exec_queue,
> + INT64_MAX);
> + bo_sync_short->sync = 0;
> + sync_short.addr = ADDR_SYNC2;
> +
> bo_dict_long[0].size = ALIGN(long_kernel_size, 0x1000);
> bo_dict_short[0].size = ALIGN(short_kernel_size, 0x1000);
>
> @@ -1872,14 +1967,21 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
> OFFSET_INDIRECT_DATA_START, OFFSET_KERNEL, OFFSET_STATE_SIP, false);
>
> xe_exec_sync(fd, execenv_long.exec_queue, ADDR_BATCH, &sync_long, 1);
> -
> xe_exec_sync(fd, execenv_short.exec_queue, ADDR_BATCH, &sync_short, 1);
>
> - igt_assert(syncobj_wait(fd, &sync_short.handle, 1, INT64_MAX, 0, NULL));
> - syncobj_destroy(fd, sync_short.handle);
> + xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE, execenv_short.exec_queue,
> + INT64_MAX);
> + /* Check that the long kernel has not completed yet */
> + igt_assert_neq(0, __xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE,
> + execenv_long.exec_queue, &timeout_short));
> + xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE, execenv_long.exec_queue,
> + INT64_MAX);
> +
> + munmap(bo_sync_long, bo_size_long);
> + gem_close(fd, bo_long);
>
> - igt_assert(syncobj_wait(fd, &sync_long.handle, 1, INT64_MAX, 0, NULL));
> - syncobj_destroy(fd, sync_long.handle);
> + munmap(bo_sync_short, bo_size_short);
> + gem_close(fd, bo_short);
>
> for (int i = 0; i < SIZE_DATA; i++) {
> float f1, f2;
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH i-g-t 2/3] lib/intel_compute: Align objects on 64K for xehpc
2025-02-03 13:38 ` [PATCH i-g-t 2/3] lib/intel_compute: Align objects on 64K for xehpc Francois Dugast
@ 2025-02-04 6:55 ` Zbigniew Kempczyński
0 siblings, 0 replies; 13+ messages in thread
From: Zbigniew Kempczyński @ 2025-02-04 6:55 UTC (permalink / raw)
To: Francois Dugast; +Cc: igt-dev
On Mon, Feb 03, 2025 at 02:38:47PM +0100, Francois Dugast wrote:
> Some of the buffers are aligned on 4K. Ensure 64K alignment
> in preparation for a switch to using xe_bo_create() during
> buffers creation.
>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
> lib/intel_compute.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/intel_compute.c b/lib/intel_compute.c
> index 983b2e2c3..0e1179b62 100644
> --- a/lib/intel_compute.c
> +++ b/lib/intel_compute.c
> @@ -1125,7 +1125,7 @@ static void xehpc_compute_exec(int fd, const unsigned char *kernel,
> bo_execenv_create(fd, &execenv, eci);
>
> /* Sets Kernel size */
> - bo_dict[0].size = ALIGN(size, 0x1000);
> + bo_dict[0].size = ALIGN(size, 0x10000);
You may align to xe_get_default_alignment() I think. Same in 1/3
patch but I've noticed it now. With this nit:
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
--
Zbigniew
>
> bo_execenv_bind(&execenv, bo_dict, XEHPC_BO_DICT_ENTRIES);
>
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe
2025-02-04 6:49 ` Zbigniew Kempczyński
@ 2025-02-04 7:47 ` Dandamudi, Priyanka
2025-02-04 9:01 ` Francois Dugast
1 sibling, 0 replies; 13+ messages in thread
From: Dandamudi, Priyanka @ 2025-02-04 7:47 UTC (permalink / raw)
To: Kempczynski, Zbigniew, Dugast, Francois; +Cc: igt-dev@lists.freedesktop.org
> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Zbigniew
> Kempczynski
> Sent: 04 February 2025 12:19 PM
> To: Dugast, Francois <francois.dugast@intel.com>
> Cc: igt-dev@lists.freedesktop.org
> Subject: Re: [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute
> when using Xe
>
> On Mon, Feb 03, 2025 at 02:38:48PM +0100, Francois Dugast wrote:
> > When Xe is used, create the VM in LR mode as this is what the compute
> > UMD does to run compute kernels. This makes those tests more
> > representative of real world scenarios. A side effect is that user
> > fences must be used.
> >
> > v2: Minimize changes, stick to xe_vm_bind_userptr_async()
> >
> > v3: Also use user fences in preempt exec
> >
> > v4: Do not rely on user pointers due to atomics use in sip,
> > rebase after 64K alignment, fix waiting times and order
> > in preempt exec (Zbigniew)
> >
> > CC: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > ---
> > lib/intel_compute.c | 164
> > +++++++++++++++++++++++++++++++++++---------
> > 1 file changed, 133 insertions(+), 31 deletions(-)
> >
> > diff --git a/lib/intel_compute.c b/lib/intel_compute.c index
> > 0e1179b62..6f6b4006d 100644
> > --- a/lib/intel_compute.c
> > +++ b/lib/intel_compute.c
> > @@ -27,6 +27,8 @@
> > #define SIZE_BATCH 0x10000
> > #define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA,
> 0x10000)
> > #define SIZE_BUFFER_OUTPUT MAX(sizeof(float) *
> SIZE_DATA, 0x10000)
> > +#define ADDR_SYNC 0x010000ULL
> > +#define ADDR_SYNC2 0x020000ULL
> > #define ADDR_BATCH 0x100000ULL
> > #define ADDR_INPUT 0x200000ULL
> > #define ADDR_OUTPUT 0x300000ULL
> > @@ -43,6 +45,8 @@
> > #define XE2_ADDR_STATE_CONTEXT_DATA_BASE 0x900000ULL
> > #define OFFSET_STATE_SIP 0xFFFF0000
> >
> > +#define USER_FENCE_VALUE 0xdeadbeefdeadbeefull
> > +
> > /*
> > * TGP - ThreadGroup Preemption
> > * WMTP - Walker Mid Thread Preemption @@ -58,6 +62,10 @@ struct
> > bo_dict_entry {
> > uint32_t handle;
> > };
> >
> > +struct bo_sync {
> > + uint64_t sync;
> > +};
> > +
> > struct bo_execenv {
> > int fd;
> > enum intel_driver driver;
> > @@ -81,7 +89,7 @@ static void bo_execenv_create(int fd, struct bo_execenv
> *execenv,
> > execenv->driver = get_intel_driver(fd);
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > - execenv->vm = xe_vm_create(fd, 0, 0);
> > + execenv->vm = xe_vm_create(fd,
> DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
> >
> > if (eci) {
> > execenv->exec_queue = xe_exec_queue_create(fd,
> execenv->vm, @@
> > -107,8 +115,8 @@ static void bo_execenv_destroy(struct bo_execenv
> *execenv)
> > igt_assert(execenv);
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > - xe_vm_destroy(execenv->fd, execenv->vm);
> > xe_exec_queue_destroy(execenv->fd, execenv->exec_queue);
> > + xe_vm_destroy(execenv->fd, execenv->vm);
> > }
> > }
> >
> > @@ -119,18 +127,32 @@ static void bo_execenv_bind(struct bo_execenv
> > *execenv,
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > uint32_t vm = execenv->vm;
> > - uint64_t alignment = xe_get_default_alignment(fd);
> > - struct drm_xe_sync sync = { 0 };
> > -
> > - sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
> > - sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
> > - sync.handle = syncobj_create(fd, 0);
> > + uint32_t exec_queue = execenv->exec_queue;
> > + struct bo_sync *bo_sync;
> > + size_t bo_size = sizeof(*bo_sync);
> > + uint32_t bo = 0;
> > + struct drm_xe_sync sync = {
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > + .timeline_value = USER_FENCE_VALUE,
> > + };
> > +
> > + bo_size = xe_bb_size(fd, bo_size);
> > + bo = xe_bo_create(fd, execenv->vm, bo_size,
> vram_if_possible(fd, 0),
> > +
> DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync = xe_bo_map(fd, bo, bo_size);
> > + sync.addr = to_user_pointer(&bo_sync->sync);
> >
> > for (int i = 0; i < entries; i++) {
> > - bo_dict[i].data = aligned_alloc(alignment,
> bo_dict[i].size);
> > - xe_vm_bind_userptr_async(fd, vm, 0,
> to_user_pointer(bo_dict[i].data),
> > - bo_dict[i].addr,
> bo_dict[i].size, &sync, 1);
> > - syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0,
> NULL);
> > + bo_sync->sync = 0;
> > + bo_dict[i].handle = xe_bo_create(fd, execenv->vm,
> bo_dict[i].size,
> > + vram_if_possible(fd,
> 0),
> > +
> DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_dict[i].data = xe_bo_map(fd, bo_dict[i].handle,
> bo_dict[i].size);
> > + xe_vm_bind_async(fd, vm, 0, bo_dict[i].handle, 0,
> bo_dict[i].addr,
> > + bo_dict[i].size, &sync, 1);
> > + xe_wait_ufence(fd, &bo_sync->sync,
> USER_FENCE_VALUE, exec_queue,
> > + INT64_MAX);
>
> This binding/unbinding pattern occurs couple of time in the code, maybe it is
> worth to add some helpers to avoid code duplication.
>
> Code looks good to me, if there will be no regression on CI:
>
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
>
> --
> Zbigniew
>
> > memset(bo_dict[i].data, 0, bo_dict[i].size);
> >
> > igt_debug("[i: %2d name: %20s] data: %p, addr:
> %16llx, size:
> > %llx\n", @@ -139,7 +161,8 @@ static void bo_execenv_bind(struct
> bo_execenv *execenv,
> > (long long)bo_dict[i].size);
> > }
> >
> > - syncobj_destroy(fd, sync.handle);
> > + munmap(bo_sync, bo_size);
> > + gem_close(fd, bo);
> > } else {
> > struct drm_i915_gem_execbuffer2 *execbuf = &execenv-
> >execbuf;
> > struct drm_i915_gem_exec_object2 *obj; @@ -177,19
> +200,33 @@ static
> > void bo_execenv_unbind(struct bo_execenv *execenv,
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > uint32_t vm = execenv->vm;
> > - struct drm_xe_sync sync = { 0 };
> > -
> > - sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
> > - sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
> > - sync.handle = syncobj_create(fd, 0);
> > + uint32_t exec_queue = execenv->exec_queue;
> > + struct bo_sync *bo_sync;
> > + size_t bo_size = sizeof(*bo_sync);
> > + uint32_t bo = 0;
> > + struct drm_xe_sync sync = {
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > + .timeline_value = USER_FENCE_VALUE,
> > + };
> > +
> > + bo_size = xe_bb_size(fd, bo_size);
> > + bo = xe_bo_create(fd, execenv->vm, bo_size,
> vram_if_possible(fd, 0),
> > +
> DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync = xe_bo_map(fd, bo, bo_size);
> > + sync.addr = to_user_pointer(&bo_sync->sync);
> >
> > for (int i = 0; i < entries; i++) {
> > + bo_sync->sync = 0;
> > xe_vm_unbind_async(fd, vm, 0, 0, bo_dict[i].addr,
> bo_dict[i].size, &sync, 1);
> > - syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0,
> NULL);
> > - free(bo_dict[i].data);
> > + xe_wait_ufence(fd, &bo_sync->sync,
> USER_FENCE_VALUE, exec_queue,
> > + INT64_MAX);
> > + munmap(bo_dict[i].data, bo_dict[i].size);
> > + gem_close(fd, bo_dict[i].handle);
> > }
> >
> > - syncobj_destroy(fd, sync.handle);
> > + munmap(bo_sync, bo_size);
> > + gem_close(fd, bo);
> > } else {
> > for (int i = 0; i < entries; i++) {
> > gem_close(fd, bo_dict[i].handle);
> > @@ -204,7 +241,32 @@ static void bo_execenv_exec(struct bo_execenv
> *execenv, uint64_t start_addr)
> > int fd = execenv->fd;
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > - xe_exec_wait(fd, execenv->exec_queue, start_addr);
> > + uint32_t exec_queue = execenv->exec_queue;
> > + struct bo_sync *bo_sync;
> > + size_t bo_size = sizeof(*bo_sync);
> > + uint32_t bo = 0;
> > + struct drm_xe_sync sync = {
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > + .timeline_value = USER_FENCE_VALUE,
> > + };
> > +
> > + bo_size = xe_bb_size(fd, bo_size);
> > + bo = xe_bo_create(fd, execenv->vm, bo_size,
> vram_if_possible(fd, 0),
> > +
> DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync = xe_bo_map(fd, bo, bo_size);
> > + sync.addr = to_user_pointer(&bo_sync->sync);
> > + xe_vm_bind_async(fd, execenv->vm, 0, bo, 0, ADDR_SYNC,
> bo_size, &sync, 1);
> > + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE,
> exec_queue,
> > +INT64_MAX);
> > +
> > + sync.addr = ADDR_SYNC;
> > + bo_sync->sync = 0;
> > +
> > + xe_exec_sync(fd, exec_queue, start_addr, &sync, 1);
> > + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE,
> exec_queue,
> > +INT64_MAX);
> > +
> > + munmap(bo_sync, bo_size);
> > + gem_close(fd, bo);
> > } else {
> > struct drm_i915_gem_execbuffer2 *execbuf = &execenv-
> >execbuf;
> > struct drm_i915_gem_exec_object2 *obj = execenv->obj; @@
> -1803,15
> > +1865,22 @@ static void xe2lpg_compute_preempt_exec(int fd, const
> unsigned char *long_kernel
> > float *dinput;
> > unsigned int long_kernel_loop_count;
> > struct drm_xe_sync sync_long = {
> > - .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > - .handle = syncobj_create(fd, 0),
> > + .timeline_value = USER_FENCE_VALUE,
> > };
> > + struct bo_sync *bo_sync_long;
> > + size_t bo_size_long = sizeof(*bo_sync_long);
> > + uint32_t bo_long = 0;
> > struct drm_xe_sync sync_short = {
> > - .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > - .handle = syncobj_create(fd, 0),
> > + .timeline_value = USER_FENCE_VALUE,
> > };
> > + struct bo_sync *bo_sync_short;
> > + size_t bo_size_short = sizeof(*bo_sync_short);
> > + uint32_t bo_short = 0;
> > + int64_t timeout_short = 1;
> >
> > if (threadgroup_preemption)
> > long_kernel_loop_count = TGP_long_kernel_loop_count; @@
> -1824,6
> > +1893,32 @@ static void xe2lpg_compute_preempt_exec(int fd, const
> unsigned char *long_kernel
> > bo_execenv_create(fd, &execenv_short, eci);
> > bo_execenv_create(fd, &execenv_long, eci);
> >
> > + /* Prepare sync object for long */
> > + bo_size_long = xe_bb_size(fd, bo_size_long);
> > + bo_long = xe_bo_create(fd, execenv_long.vm, bo_size_long,
> vram_if_possible(fd, 0),
> > +
> DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync_long = xe_bo_map(fd, bo_long, bo_size_long);
> > + sync_long.addr = to_user_pointer(&bo_sync_long->sync);
> > + xe_vm_bind_async(fd, execenv_long.vm, 0, bo_long, 0, ADDR_SYNC,
> bo_size_long,
> > + &sync_long, 1);
> > + xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE,
> execenv_long.exec_queue,
> > + INT64_MAX);
> > + bo_sync_long->sync = 0;
> > + sync_long.addr = ADDR_SYNC;
> > +
> > + /* Prepare sync object for short */
> > + bo_size_short = xe_bb_size(fd, bo_size_short);
> > + bo_short = xe_bo_create(fd, execenv_short.vm, bo_size_short,
> vram_if_possible(fd, 0),
> > +
> DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync_short = xe_bo_map(fd, bo_short, bo_size_short);
> > + sync_short.addr = to_user_pointer(&bo_sync_short->sync);
> > + xe_vm_bind_async(fd, execenv_short.vm, 0, bo_short, 0,
> ADDR_SYNC2, bo_size_short,
> > + &sync_short, 1);
> > + xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE,
> execenv_short.exec_queue,
> > + INT64_MAX);
> > + bo_sync_short->sync = 0;
> > + sync_short.addr = ADDR_SYNC2;
> > +
> > bo_dict_long[0].size = ALIGN(long_kernel_size, 0x1000);
> > bo_dict_short[0].size = ALIGN(short_kernel_size, 0x1000);
> >
> > @@ -1872,14 +1967,21 @@ static void xe2lpg_compute_preempt_exec(int
> fd, const unsigned char *long_kernel
> > OFFSET_INDIRECT_DATA_START,
> OFFSET_KERNEL, OFFSET_STATE_SIP,
> > false);
> >
> > xe_exec_sync(fd, execenv_long.exec_queue, ADDR_BATCH,
> &sync_long,
> > 1);
> > -
> > xe_exec_sync(fd, execenv_short.exec_queue, ADDR_BATCH,
> &sync_short,
> > 1);
> >
> > - igt_assert(syncobj_wait(fd, &sync_short.handle, 1, INT64_MAX, 0,
> NULL));
> > - syncobj_destroy(fd, sync_short.handle);
> > + xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE,
> execenv_short.exec_queue,
> > + INT64_MAX);
> > + /* Check that the long kernel has not completed yet */
Does test compute_threadgroup_preempt pass with this line added. Can you please validate it.
> > + igt_assert_neq(0, __xe_wait_ufence(fd, &bo_sync_long->sync,
> USER_FENCE_VALUE,
> > + execenv_long.exec_queue,
> &timeout_short));
> > + xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE,
> execenv_long.exec_queue,
> > + INT64_MAX);
> > +
> > + munmap(bo_sync_long, bo_size_long);
> > + gem_close(fd, bo_long);
> >
> > - igt_assert(syncobj_wait(fd, &sync_long.handle, 1, INT64_MAX, 0,
> NULL));
> > - syncobj_destroy(fd, sync_long.handle);
> > + munmap(bo_sync_short, bo_size_short);
> > + gem_close(fd, bo_short);
> >
> > for (int i = 0; i < SIZE_DATA; i++) {
> > float f1, f2;
> > --
> > 2.43.0
> >
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp
2025-02-04 5:55 ` Zbigniew Kempczyński
@ 2025-02-04 8:58 ` Francois Dugast
0 siblings, 0 replies; 13+ messages in thread
From: Francois Dugast @ 2025-02-04 8:58 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
On Tue, Feb 04, 2025 at 06:55:31AM +0100, Zbigniew Kempczyński wrote:
> On Mon, Feb 03, 2025 at 02:38:46PM +0100, Francois Dugast wrote:
> > Some of the buffers are aligned on 4K. Ensure 64K alignment
> > in preparation for a switch to using xe_bo_create() during
> > buffers creation.
> >
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > ---
> > lib/intel_compute.c | 24 ++++++++++++------------
> > 1 file changed, 12 insertions(+), 12 deletions(-)
> >
> > diff --git a/lib/intel_compute.c b/lib/intel_compute.c
> > index f1520aad4..983b2e2c3 100644
> > --- a/lib/intel_compute.c
> > +++ b/lib/intel_compute.c
> > @@ -24,9 +24,9 @@
> > #define MEDIA_STATE_FLUSH 0x0
> > #define MAX(X, Y) (((X) > (Y)) ? (X) : (Y))
> > #define SIZE_DATA 64
> > -#define SIZE_BATCH 0x1000
> > -#define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x1000)
> > -#define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x1000)
> > +#define SIZE_BATCH 0x10000
> > +#define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> > +#define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> > #define ADDR_BATCH 0x100000ULL
> > #define ADDR_INPUT 0x200000ULL
> > #define ADDR_OUTPUT 0x300000ULL
> > @@ -38,7 +38,7 @@
> >
> > #define ADDR_GENERAL_STATE_BASE 0x80000000ULL
> > #define ADDR_INSTRUCTION_STATE_BASE 0x90000000ULL
> > -#define OFFSET_BINDING_TABLE 0x1000
> > +#define OFFSET_BINDING_TABLE 0x10000
> >
> > #define XE2_ADDR_STATE_CONTEXT_DATA_BASE 0x900000ULL
> > #define OFFSET_STATE_SIP 0xFFFF0000
> > @@ -746,8 +746,8 @@ static void xehp_create_surface_state(uint32_t *addr_bo_buffer_batch,
> > addr_bo_buffer_batch[b++] = 0x00000000;
> > addr_bo_buffer_batch[b++] = 0x00000000;
> >
> > - addr_bo_buffer_batch[b++] = 0x00001000;
> > - addr_bo_buffer_batch[b++] = 0x00001040;
> > + addr_bo_buffer_batch[b++] = 0x00010000;
> > + addr_bo_buffer_batch[b++] = 0x00010040;
> > addr_bo_buffer_batch[b++] = 0x00000000;
> > addr_bo_buffer_batch[b++] = 0x00000000;
> > addr_bo_buffer_batch[b++] = 0x00000000;
> > @@ -825,7 +825,7 @@ static void xehp_compute_exec_compute(uint32_t *addr_bo_buffer_batch,
> > addr_bo_buffer_batch[b++] = GEN8_3DSTATE_BINDING_TABLE_POOL_ALLOC | 2;
> > addr_bo_buffer_batch[b++] = (addr_surface_state_base & 0xffffffff) | 0x6;
> > addr_bo_buffer_batch[b++] = addr_surface_state_base >> 32;
> > - addr_bo_buffer_batch[b++] = 0x00002000;
> > + addr_bo_buffer_batch[b++] = 0x00012000;
>
> I've checked this and it seems this line should be removed
> (0x001ff000 is enough and pool alloc has 4 and not 5 dwords).
> I mean this dword stays here by accident during reversing.
> Rest looks good to me. With this nit:
>
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Thanks, made that change as well as using xe_get_default_alignment()
as suggested in the next patch review. Retested on DG2.
Francois
>
> --
> Zbigniew
>
> > addr_bo_buffer_batch[b++] = 0x001ff000;
> >
> > addr_bo_buffer_batch[b++] = XEHP_COMPUTE_WALKER | 0x25;
> > @@ -852,7 +852,7 @@ static void xehp_compute_exec_compute(uint32_t *addr_bo_buffer_batch,
> > addr_bo_buffer_batch[b++] = 0x00000000;
> > addr_bo_buffer_batch[b++] = 0x00180000;
> > addr_bo_buffer_batch[b++] = 0x00000000;
> > - addr_bo_buffer_batch[b++] = 0x00001080;
> > + addr_bo_buffer_batch[b++] = 0x00010080;
> > addr_bo_buffer_batch[b++] = 0x0c000002;
> >
> > addr_bo_buffer_batch[b++] = 0x00000008;
> > @@ -895,10 +895,10 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
> > .size = 0x100000,
> > .name = "dynamic state base"},
> > { .addr = ADDR_SURFACE_STATE_BASE,
> > - .size = 0x1000,
> > + .size = 0x10000,
> > .name = "surface state base"},
> > { .addr = ADDR_GENERAL_STATE_BASE + OFFSET_INDIRECT_DATA_START,
> > - .size = 0x1000,
> > + .size = 0x10000,
> > .name = "indirect object base"},
> > { .addr = ADDR_INPUT, .size = SIZE_BUFFER_INPUT,
> > .name = "addr input"},
> > @@ -907,7 +907,7 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
> > { .addr = ADDR_GENERAL_STATE_BASE, .size = 0x100000,
> > .name = "general state base" },
> > { .addr = ADDR_SURFACE_STATE_BASE + OFFSET_BINDING_TABLE,
> > - .size = 0x1000,
> > + .size = 0x10000,
> > .name = "binding table" },
> > { .addr = ADDR_BATCH, .size = SIZE_BATCH,
> > .name = "batch" },
> > @@ -918,7 +918,7 @@ static void xehp_compute_exec(int fd, const unsigned char *kernel,
> > bo_execenv_create(fd, &execenv, eci);
> >
> > /* Sets Kernel size */
> > - bo_dict[0].size = ALIGN(size, 0x1000);
> > + bo_dict[0].size = ALIGN(size, 0x10000);
> >
> > bo_execenv_bind(&execenv, bo_dict, XEHP_BO_DICT_ENTRIES);
> >
> > --
> > 2.43.0
> >
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe
2025-02-04 6:49 ` Zbigniew Kempczyński
2025-02-04 7:47 ` Dandamudi, Priyanka
@ 2025-02-04 9:01 ` Francois Dugast
1 sibling, 0 replies; 13+ messages in thread
From: Francois Dugast @ 2025-02-04 9:01 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
On Tue, Feb 04, 2025 at 07:49:17AM +0100, Zbigniew Kempczyński wrote:
> On Mon, Feb 03, 2025 at 02:38:48PM +0100, Francois Dugast wrote:
> > When Xe is used, create the VM in LR mode as this is what the
> > compute UMD does to run compute kernels. This makes those tests
> > more representative of real world scenarios. A side effect is
> > that user fences must be used.
> >
> > v2: Minimize changes, stick to xe_vm_bind_userptr_async()
> >
> > v3: Also use user fences in preempt exec
> >
> > v4: Do not rely on user pointers due to atomics use in sip,
> > rebase after 64K alignment, fix waiting times and order
> > in preempt exec (Zbigniew)
> >
> > CC: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > ---
> > lib/intel_compute.c | 164 +++++++++++++++++++++++++++++++++++---------
> > 1 file changed, 133 insertions(+), 31 deletions(-)
> >
> > diff --git a/lib/intel_compute.c b/lib/intel_compute.c
> > index 0e1179b62..6f6b4006d 100644
> > --- a/lib/intel_compute.c
> > +++ b/lib/intel_compute.c
> > @@ -27,6 +27,8 @@
> > #define SIZE_BATCH 0x10000
> > #define SIZE_BUFFER_INPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> > #define SIZE_BUFFER_OUTPUT MAX(sizeof(float) * SIZE_DATA, 0x10000)
> > +#define ADDR_SYNC 0x010000ULL
> > +#define ADDR_SYNC2 0x020000ULL
> > #define ADDR_BATCH 0x100000ULL
> > #define ADDR_INPUT 0x200000ULL
> > #define ADDR_OUTPUT 0x300000ULL
> > @@ -43,6 +45,8 @@
> > #define XE2_ADDR_STATE_CONTEXT_DATA_BASE 0x900000ULL
> > #define OFFSET_STATE_SIP 0xFFFF0000
> >
> > +#define USER_FENCE_VALUE 0xdeadbeefdeadbeefull
> > +
> > /*
> > * TGP - ThreadGroup Preemption
> > * WMTP - Walker Mid Thread Preemption
> > @@ -58,6 +62,10 @@ struct bo_dict_entry {
> > uint32_t handle;
> > };
> >
> > +struct bo_sync {
> > + uint64_t sync;
> > +};
> > +
> > struct bo_execenv {
> > int fd;
> > enum intel_driver driver;
> > @@ -81,7 +89,7 @@ static void bo_execenv_create(int fd, struct bo_execenv *execenv,
> > execenv->driver = get_intel_driver(fd);
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > - execenv->vm = xe_vm_create(fd, 0, 0);
> > + execenv->vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
> >
> > if (eci) {
> > execenv->exec_queue = xe_exec_queue_create(fd, execenv->vm,
> > @@ -107,8 +115,8 @@ static void bo_execenv_destroy(struct bo_execenv *execenv)
> > igt_assert(execenv);
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > - xe_vm_destroy(execenv->fd, execenv->vm);
> > xe_exec_queue_destroy(execenv->fd, execenv->exec_queue);
> > + xe_vm_destroy(execenv->fd, execenv->vm);
> > }
> > }
> >
> > @@ -119,18 +127,32 @@ static void bo_execenv_bind(struct bo_execenv *execenv,
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > uint32_t vm = execenv->vm;
> > - uint64_t alignment = xe_get_default_alignment(fd);
> > - struct drm_xe_sync sync = { 0 };
> > -
> > - sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
> > - sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
> > - sync.handle = syncobj_create(fd, 0);
> > + uint32_t exec_queue = execenv->exec_queue;
> > + struct bo_sync *bo_sync;
> > + size_t bo_size = sizeof(*bo_sync);
> > + uint32_t bo = 0;
> > + struct drm_xe_sync sync = {
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > + .timeline_value = USER_FENCE_VALUE,
> > + };
> > +
> > + bo_size = xe_bb_size(fd, bo_size);
> > + bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
> > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync = xe_bo_map(fd, bo, bo_size);
> > + sync.addr = to_user_pointer(&bo_sync->sync);
> >
> > for (int i = 0; i < entries; i++) {
> > - bo_dict[i].data = aligned_alloc(alignment, bo_dict[i].size);
> > - xe_vm_bind_userptr_async(fd, vm, 0, to_user_pointer(bo_dict[i].data),
> > - bo_dict[i].addr, bo_dict[i].size, &sync, 1);
> > - syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0, NULL);
> > + bo_sync->sync = 0;
> > + bo_dict[i].handle = xe_bo_create(fd, execenv->vm, bo_dict[i].size,
> > + vram_if_possible(fd, 0),
> > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_dict[i].data = xe_bo_map(fd, bo_dict[i].handle, bo_dict[i].size);
> > + xe_vm_bind_async(fd, vm, 0, bo_dict[i].handle, 0, bo_dict[i].addr,
> > + bo_dict[i].size, &sync, 1);
> > + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue,
> > + INT64_MAX);
>
> This binding/unbinding pattern occurs couple of time in the code,
> maybe it is worth to add some helpers to avoid code duplication.
More lib/compute improvements are pending, I will look into this.
>
> Code looks good to me, if there will be no regression on CI:
>
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
CI looks good. Thanks for the review.
Francois
>
> --
> Zbigniew
>
> > memset(bo_dict[i].data, 0, bo_dict[i].size);
> >
> > igt_debug("[i: %2d name: %20s] data: %p, addr: %16llx, size: %llx\n",
> > @@ -139,7 +161,8 @@ static void bo_execenv_bind(struct bo_execenv *execenv,
> > (long long)bo_dict[i].size);
> > }
> >
> > - syncobj_destroy(fd, sync.handle);
> > + munmap(bo_sync, bo_size);
> > + gem_close(fd, bo);
> > } else {
> > struct drm_i915_gem_execbuffer2 *execbuf = &execenv->execbuf;
> > struct drm_i915_gem_exec_object2 *obj;
> > @@ -177,19 +200,33 @@ static void bo_execenv_unbind(struct bo_execenv *execenv,
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > uint32_t vm = execenv->vm;
> > - struct drm_xe_sync sync = { 0 };
> > -
> > - sync.type = DRM_XE_SYNC_TYPE_SYNCOBJ;
> > - sync.flags = DRM_XE_SYNC_FLAG_SIGNAL;
> > - sync.handle = syncobj_create(fd, 0);
> > + uint32_t exec_queue = execenv->exec_queue;
> > + struct bo_sync *bo_sync;
> > + size_t bo_size = sizeof(*bo_sync);
> > + uint32_t bo = 0;
> > + struct drm_xe_sync sync = {
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > + .timeline_value = USER_FENCE_VALUE,
> > + };
> > +
> > + bo_size = xe_bb_size(fd, bo_size);
> > + bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
> > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync = xe_bo_map(fd, bo, bo_size);
> > + sync.addr = to_user_pointer(&bo_sync->sync);
> >
> > for (int i = 0; i < entries; i++) {
> > + bo_sync->sync = 0;
> > xe_vm_unbind_async(fd, vm, 0, 0, bo_dict[i].addr, bo_dict[i].size, &sync, 1);
> > - syncobj_wait(fd, &sync.handle, 1, INT64_MAX, 0, NULL);
> > - free(bo_dict[i].data);
> > + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue,
> > + INT64_MAX);
> > + munmap(bo_dict[i].data, bo_dict[i].size);
> > + gem_close(fd, bo_dict[i].handle);
> > }
> >
> > - syncobj_destroy(fd, sync.handle);
> > + munmap(bo_sync, bo_size);
> > + gem_close(fd, bo);
> > } else {
> > for (int i = 0; i < entries; i++) {
> > gem_close(fd, bo_dict[i].handle);
> > @@ -204,7 +241,32 @@ static void bo_execenv_exec(struct bo_execenv *execenv, uint64_t start_addr)
> > int fd = execenv->fd;
> >
> > if (execenv->driver == INTEL_DRIVER_XE) {
> > - xe_exec_wait(fd, execenv->exec_queue, start_addr);
> > + uint32_t exec_queue = execenv->exec_queue;
> > + struct bo_sync *bo_sync;
> > + size_t bo_size = sizeof(*bo_sync);
> > + uint32_t bo = 0;
> > + struct drm_xe_sync sync = {
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > + .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > + .timeline_value = USER_FENCE_VALUE,
> > + };
> > +
> > + bo_size = xe_bb_size(fd, bo_size);
> > + bo = xe_bo_create(fd, execenv->vm, bo_size, vram_if_possible(fd, 0),
> > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync = xe_bo_map(fd, bo, bo_size);
> > + sync.addr = to_user_pointer(&bo_sync->sync);
> > + xe_vm_bind_async(fd, execenv->vm, 0, bo, 0, ADDR_SYNC, bo_size, &sync, 1);
> > + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue, INT64_MAX);
> > +
> > + sync.addr = ADDR_SYNC;
> > + bo_sync->sync = 0;
> > +
> > + xe_exec_sync(fd, exec_queue, start_addr, &sync, 1);
> > + xe_wait_ufence(fd, &bo_sync->sync, USER_FENCE_VALUE, exec_queue, INT64_MAX);
> > +
> > + munmap(bo_sync, bo_size);
> > + gem_close(fd, bo);
> > } else {
> > struct drm_i915_gem_execbuffer2 *execbuf = &execenv->execbuf;
> > struct drm_i915_gem_exec_object2 *obj = execenv->obj;
> > @@ -1803,15 +1865,22 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
> > float *dinput;
> > unsigned int long_kernel_loop_count;
> > struct drm_xe_sync sync_long = {
> > - .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > - .handle = syncobj_create(fd, 0),
> > + .timeline_value = USER_FENCE_VALUE,
> > };
> > + struct bo_sync *bo_sync_long;
> > + size_t bo_size_long = sizeof(*bo_sync_long);
> > + uint32_t bo_long = 0;
> > struct drm_xe_sync sync_short = {
> > - .type = DRM_XE_SYNC_TYPE_SYNCOBJ,
> > + .type = DRM_XE_SYNC_TYPE_USER_FENCE,
> > .flags = DRM_XE_SYNC_FLAG_SIGNAL,
> > - .handle = syncobj_create(fd, 0),
> > + .timeline_value = USER_FENCE_VALUE,
> > };
> > + struct bo_sync *bo_sync_short;
> > + size_t bo_size_short = sizeof(*bo_sync_short);
> > + uint32_t bo_short = 0;
> > + int64_t timeout_short = 1;
> >
> > if (threadgroup_preemption)
> > long_kernel_loop_count = TGP_long_kernel_loop_count;
> > @@ -1824,6 +1893,32 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
> > bo_execenv_create(fd, &execenv_short, eci);
> > bo_execenv_create(fd, &execenv_long, eci);
> >
> > + /* Prepare sync object for long */
> > + bo_size_long = xe_bb_size(fd, bo_size_long);
> > + bo_long = xe_bo_create(fd, execenv_long.vm, bo_size_long, vram_if_possible(fd, 0),
> > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync_long = xe_bo_map(fd, bo_long, bo_size_long);
> > + sync_long.addr = to_user_pointer(&bo_sync_long->sync);
> > + xe_vm_bind_async(fd, execenv_long.vm, 0, bo_long, 0, ADDR_SYNC, bo_size_long,
> > + &sync_long, 1);
> > + xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE, execenv_long.exec_queue,
> > + INT64_MAX);
> > + bo_sync_long->sync = 0;
> > + sync_long.addr = ADDR_SYNC;
> > +
> > + /* Prepare sync object for short */
> > + bo_size_short = xe_bb_size(fd, bo_size_short);
> > + bo_short = xe_bo_create(fd, execenv_short.vm, bo_size_short, vram_if_possible(fd, 0),
> > + DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM);
> > + bo_sync_short = xe_bo_map(fd, bo_short, bo_size_short);
> > + sync_short.addr = to_user_pointer(&bo_sync_short->sync);
> > + xe_vm_bind_async(fd, execenv_short.vm, 0, bo_short, 0, ADDR_SYNC2, bo_size_short,
> > + &sync_short, 1);
> > + xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE, execenv_short.exec_queue,
> > + INT64_MAX);
> > + bo_sync_short->sync = 0;
> > + sync_short.addr = ADDR_SYNC2;
> > +
> > bo_dict_long[0].size = ALIGN(long_kernel_size, 0x1000);
> > bo_dict_short[0].size = ALIGN(short_kernel_size, 0x1000);
> >
> > @@ -1872,14 +1967,21 @@ static void xe2lpg_compute_preempt_exec(int fd, const unsigned char *long_kernel
> > OFFSET_INDIRECT_DATA_START, OFFSET_KERNEL, OFFSET_STATE_SIP, false);
> >
> > xe_exec_sync(fd, execenv_long.exec_queue, ADDR_BATCH, &sync_long, 1);
> > -
> > xe_exec_sync(fd, execenv_short.exec_queue, ADDR_BATCH, &sync_short, 1);
> >
> > - igt_assert(syncobj_wait(fd, &sync_short.handle, 1, INT64_MAX, 0, NULL));
> > - syncobj_destroy(fd, sync_short.handle);
> > + xe_wait_ufence(fd, &bo_sync_short->sync, USER_FENCE_VALUE, execenv_short.exec_queue,
> > + INT64_MAX);
> > + /* Check that the long kernel has not completed yet */
> > + igt_assert_neq(0, __xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE,
> > + execenv_long.exec_queue, &timeout_short));
> > + xe_wait_ufence(fd, &bo_sync_long->sync, USER_FENCE_VALUE, execenv_long.exec_queue,
> > + INT64_MAX);
> > +
> > + munmap(bo_sync_long, bo_size_long);
> > + gem_close(fd, bo_long);
> >
> > - igt_assert(syncobj_wait(fd, &sync_long.handle, 1, INT64_MAX, 0, NULL));
> > - syncobj_destroy(fd, sync_long.handle);
> > + munmap(bo_sync_short, bo_size_short);
> > + gem_close(fd, bo_short);
> >
> > for (int i = 0; i < SIZE_DATA; i++) {
> > float f1, f2;
> > --
> > 2.43.0
> >
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-02-04 9:01 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-03 13:38 [PATCH i-g-t 0/3] Use LR mode for compute Francois Dugast
2025-02-03 13:38 ` [PATCH i-g-t 1/3] lib/intel_compute: Align objects on 64K for xehp Francois Dugast
2025-02-04 5:55 ` Zbigniew Kempczyński
2025-02-04 8:58 ` Francois Dugast
2025-02-03 13:38 ` [PATCH i-g-t 2/3] lib/intel_compute: Align objects on 64K for xehpc Francois Dugast
2025-02-04 6:55 ` Zbigniew Kempczyński
2025-02-03 13:38 ` [PATCH i-g-t 3/3] lib/intel_compute: Use LR mode for compute when using Xe Francois Dugast
2025-02-04 6:49 ` Zbigniew Kempczyński
2025-02-04 7:47 ` Dandamudi, Priyanka
2025-02-04 9:01 ` Francois Dugast
2025-02-04 1:09 ` ✗ i915.CI.BAT: failure for Use LR mode for compute Patchwork
2025-02-04 1:32 ` ✓ Xe.CI.BAT: success " Patchwork
2025-02-04 3:53 ` ✗ Xe.CI.Full: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox