Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test
@ 2026-05-12 18:21 vitaly.prosyak
  2026-05-13  0:20 ` ✓ i915.CI.BAT: success for " Patchwork
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: vitaly.prosyak @ 2026-05-12 18:21 UTC (permalink / raw)
  To: igt-dev; +Cc: Vitaly Prosyak, Christian König, Alex Deucher, Jesse Zhang

From: Vitaly Prosyak <vitaly.prosyak@amd.com>

Add amd_userptr_invalidation test to verify that GPU page table entries
are properly invalidated when the userspace backing of a USERPTR buffer
object is released via munmap().

The test contains two subtests:

  userptr-unmap-revalidate:
    Allocates a USERPTR BO, releases its backing via munmap(), then
    submits a CS that still references the BO in the bo_list.  Verifies
    that the kernel detects the invalidated BO during revalidation and
    rejects the command submission.

  userptr-unmap-stress:
    Allocates a 256 MB USERPTR region, establishes GPU mappings with an
    initial SDMA copy, releases the backing via munmap(), then creates
    memory pressure with pipes and child processes.  A second SDMA copy
    through the old VA range is submitted without the USERPTR BO in the
    bo_list.  Verifies that GPU PTEs were invalidated by checking for
    GPU page faults (via klogctl) and confirming that the destination
    buffer does not contain the original data pattern.

Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Jesse Zhang <jesse.zhang@amd.com>
Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
---
 lib/amdgpu/amd_command_submission.c     |   2 +-
 tests/amdgpu/amd_userptr_invalidation.c | 590 ++++++++++++++++++++++++
 tests/amdgpu/meson.build                |   1 +
 3 files changed, 592 insertions(+), 1 deletion(-)
 create mode 100644 tests/amdgpu/amd_userptr_invalidation.c

diff --git a/lib/amdgpu/amd_command_submission.c b/lib/amdgpu/amd_command_submission.c
index c80e06fb5..1a5fd9446 100644
--- a/lib/amdgpu/amd_command_submission.c
+++ b/lib/amdgpu/amd_command_submission.c
@@ -139,7 +139,7 @@ int amdgpu_test_exec_cs_helper(amdgpu_device_handle device, unsigned int ip_type
 						 0, &expired);
 		ring_context->err_codes.err_code_wait_for_fence = r;
 		if (expect_failure) {
-			igt_info("EXPECT FAILURE amdgpu_cs_query_fence_status%d"
+			igt_info("EXPECT FAILURE amdgpu_cs_query_fence_status %d\n"
 				 "expired %d PID %d\n", r, expired, getpid());
 		} else {
 			/* we allow ECANCELED or ENODATA for good jobs temporally */
diff --git a/tests/amdgpu/amd_userptr_invalidation.c b/tests/amdgpu/amd_userptr_invalidation.c
new file mode 100644
index 000000000..6938c11a4
--- /dev/null
+++ b/tests/amdgpu/amd_userptr_invalidation.c
@@ -0,0 +1,590 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright 2026 Advanced Micro Devices, Inc.
+ *
+ * Test for USERPTR BO PTE invalidation after munmap.
+ *
+ * When userspace releases the backing pages of a USERPTR buffer object
+ * via munmap(), the kernel must invalidate the corresponding GPU page
+ * table entries so that subsequent command submissions through the same
+ * GPU virtual address range do not access the old physical pages.
+ *
+ * The test verifies two aspects of this behavior:
+ *
+ *   userptr-unmap-revalidate
+ *       Submits a CS that includes the USERPTR BO in its bo_list after
+ *       the backing has been released.  The kernel is expected to detect
+ *       the invalidated BO during revalidation and reject the submission.
+ *
+ *   userptr-unmap-stress
+ *       Allocates a large (256 MB) USERPTR region, establishes GPU
+ *       mappings via an initial SDMA copy, then releases the backing
+ *       and creates memory pressure with many pipes and child processes.
+ *       A second SDMA copy through the old VA range is submitted without
+ *       the USERPTR BO in the bo_list.  The test verifies that the GPU
+ *       does not read back the original data pattern (0xAA), confirming
+ *       that the PTEs were properly invalidated.
+ *
+ *       Detection uses three complementary signals:
+ *         - GPU page faults logged by the kernel (klogctl)
+ *         - destination buffer containing only zeros (dummy page)
+ *         - absence of original 0xAA pattern in destination
+ */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/mman.h>
+#include <sys/klog.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+#include "igt.h"
+#include "ioctl_wrappers.h"
+#include "lib/amdgpu/amd_memory.h"
+#include "lib/amdgpu/amd_sdma.h"
+#include "lib/amdgpu/amd_ip_blocks.h"
+#include "lib/amdgpu/amd_command_submission.h"
+#include "lib/amdgpu/amd_utils.h"
+
+#define BUF_SZ			(64 * 1024)
+#define PM4_DW			256
+
+#define STRESS_TARGET_SZ	(256UL * 1024 * 1024)
+#define STRESS_CHILDREN		2048
+#define STRESS_PIPES		200000
+#define STRESS_SCAN_CHUNK	(4UL * 1024 * 1024)
+#define STRESS_PTE_STEP		(64UL * 1024 * 1024)
+
+/**
+ * count_gpu_page_faults() - count GPU page faults in dmesg for a given PID
+ * @pid: process ID to match in fault messages
+ * @since_uptime_ms: only count faults after this uptime (milliseconds)
+ *
+ * Read the kernel ring buffer via klogctl(3) and count lines containing
+ * "[gfxhub] page fault" followed by the given PID on the next line.
+ * Only messages with a kernel timestamp >= @since_uptime_ms are counted.
+ *
+ * Return: number of matching page fault entries.
+ */
+static unsigned int
+count_gpu_page_faults(pid_t pid, unsigned long since_uptime_ms)
+{
+	int bufsize, len;
+	char *buf, *p, *line_start;
+	unsigned int count = 0;
+	unsigned int total_lines = 0;
+	unsigned int fault_lines = 0;
+	char pid_pattern[64];
+	bool prev_was_fault = false;
+
+	snprintf(pid_pattern, sizeof(pid_pattern), "pid %d ", (int)pid);
+
+	bufsize = klogctl(10, NULL, 0);
+	if (bufsize <= 0)
+		bufsize = 1 << 20;
+
+	buf = malloc(bufsize + 1);
+	if (!buf)
+		return 0;
+
+	len = klogctl(3, buf, bufsize);
+	if (len <= 0) {
+		free(buf);
+		return 0;
+	}
+	buf[len] = '\0';
+
+	line_start = buf;
+	for (p = buf; p <= buf + len; p++) {
+		const char *ts_start;
+		double ts;
+
+		if (*p != '\n' && *p != '\0')
+			continue;
+
+		*p = '\0';
+		total_lines++;
+
+		/* Filter by kernel timestamp */
+		ts_start = strchr(line_start, '[');
+		if (ts_start && sscanf(ts_start, "[%lf]", &ts) == 1) {
+			unsigned long ts_ms = (unsigned long)(ts * 1000.0);
+
+			if (ts_ms < since_uptime_ms) {
+				prev_was_fault = false;
+				line_start = p + 1;
+				continue;
+			}
+		}
+
+		if (strstr(line_start, "[gfxhub] page fault")) {
+			prev_was_fault = true;
+			fault_lines++;
+		} else if (prev_was_fault && strstr(line_start, pid_pattern)) {
+			count++;
+			prev_was_fault = false;
+		} else {
+			prev_was_fault = false;
+		}
+
+		line_start = p + 1;
+	}
+
+	igt_info("  klogctl: lines=%u faults=%u matched=%u\n",
+		 total_lines, fault_lines, count);
+	free(buf);
+	return count;
+}
+
+/**
+ * get_uptime_ms() - read current system uptime in milliseconds
+ *
+ * Read /proc/uptime for the kernel monotonic timestamp that matches
+ * the timestamps used in dmesg.
+ *
+ * Return: uptime in milliseconds, or 0 on error.
+ */
+static unsigned long get_uptime_ms(void)
+{
+	FILE *fp;
+	double uptime;
+
+	fp = fopen("/proc/uptime", "r");
+	if (!fp)
+		return 0;
+	if (fscanf(fp, "%lf", &uptime) != 1)
+		uptime = 0;
+	fclose(fp);
+	return (unsigned long)(uptime * 1000.0);
+}
+
+/**
+ * amdgpu_userptr_unmap_revalidate() - test CS rejection after munmap
+ * @dev: amdgpu device handle
+ *
+ * Allocate a USERPTR BO, release its backing via munmap(), then submit
+ * a CS that still references the BO in its bo_list.  The kernel should
+ * detect that the BO pages are no longer valid and reject the CS.
+ *
+ * If the CS is accepted, the destination buffer is scanned for bytes
+ * that do not match the original fill or zero patterns.
+ */
+static void amdgpu_userptr_unmap_revalidate(amdgpu_device_handle dev)
+{
+	const struct amdgpu_ip_block_version *ip_block;
+	struct amdgpu_ring_context *ring_context;
+	amdgpu_bo_handle up_bo;
+	amdgpu_va_handle up_va_h;
+	uint64_t up_va;
+	void *up_cpu;
+	amdgpu_bo_handle dst_bo;
+	amdgpu_va_handle dst_va_h;
+	uint64_t dst_mc;
+	void *dst_cpu_ptr;
+	uint8_t *dst;
+	unsigned int suspicious;
+	uint64_t i;
+	int r;
+
+	ip_block = get_ip_block(dev, AMDGPU_HW_IP_DMA);
+	igt_assert(ip_block);
+
+	ring_context = calloc(1, sizeof(*ring_context));
+	igt_assert(ring_context);
+	ring_context->write_length = BUF_SZ;
+	ring_context->pm4 = calloc(PM4_DW, sizeof(*ring_context->pm4));
+	ring_context->pm4_size = PM4_DW;
+	ring_context->secure = false;
+	ring_context->res_cnt = 2;
+	igt_assert(ring_context->pm4);
+
+	r = amdgpu_cs_ctx_create(dev, &ring_context->context_handle);
+	igt_assert_eq(r, 0);
+
+	/* Allocate and fill USERPTR BO */
+	up_cpu = mmap(NULL, BUF_SZ, PROT_READ | PROT_WRITE,
+		      MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1, 0);
+	igt_assert(up_cpu != MAP_FAILED);
+	memset(up_cpu, 0x77, BUF_SZ);
+
+	r = amdgpu_create_bo_from_user_mem(dev, up_cpu, BUF_SZ, &up_bo);
+	igt_assert_eq(r, 0);
+
+	r = amdgpu_va_range_alloc(dev, amdgpu_gpu_va_range_general,
+				  BUF_SZ, sysconf(_SC_PAGE_SIZE), 0,
+				  &up_va, &up_va_h, 0);
+	igt_assert_eq(r, 0);
+
+	r = amdgpu_bo_va_op(up_bo, 0, BUF_SZ, up_va, 0, AMDGPU_VA_OP_MAP);
+	igt_assert_eq(r, 0);
+
+	/* Allocate VRAM destination */
+	r = amdgpu_bo_alloc_and_map(dev, BUF_SZ, sysconf(_SC_PAGE_SIZE),
+				    AMDGPU_GEM_DOMAIN_VRAM,
+				    AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
+				    &dst_bo, &dst_cpu_ptr, &dst_mc,
+				    &dst_va_h);
+	igt_assert_eq(r, 0);
+	memset(dst_cpu_ptr, 0, BUF_SZ);
+
+	/* Release USERPTR backing before CS */
+	munmap(up_cpu, BUF_SZ);
+
+	/* Submit CS with invalidated USERPTR BO in bo_list */
+	ring_context->bo_mc = up_va;
+	ring_context->bo_mc2 = dst_mc;
+	ring_context->resources[0] = up_bo;
+	ring_context->resources[1] = dst_bo;
+
+	ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
+				     &ring_context->pm4_dw);
+
+	r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 1);
+	r = ring_context->err_codes.err_code_cs_submit;
+
+	if (r != 0) {
+		igt_info("CS rejected (r=%d) after munmap\n", r);
+	} else {
+		dst = (uint8_t *)dst_cpu_ptr;
+		suspicious = 0;
+		for (i = 0; i < BUF_SZ; i++) {
+			if (dst[i] != 0 && dst[i] != 0x77)
+				suspicious++;
+		}
+		igt_info("CS completed: %u/%d unexpected bytes\n",
+			 suspicious, BUF_SZ);
+	}
+
+	amdgpu_bo_unmap_and_free(dst_bo, dst_va_h, dst_mc, BUF_SZ);
+	amdgpu_bo_va_op(up_bo, 0, BUF_SZ, up_va, 0, AMDGPU_VA_OP_UNMAP);
+	amdgpu_va_range_free(up_va_h);
+	amdgpu_bo_free(up_bo);
+	amdgpu_cs_ctx_free(ring_context->context_handle);
+	free(ring_context->pm4);
+	free(ring_context);
+}
+
+/**
+ * amdgpu_userptr_unmap_stress() - stress test PTE invalidation
+ * @dev: amdgpu device handle
+ *
+ * Phase 1: Allocate a large USERPTR region filled with 0xAA, create a
+ *          VRAM destination BO, and perform an initial SDMA copy to
+ *          populate GPU page table entries.
+ *
+ * Phase 2: Release the USERPTR backing via munmap().  This triggers the
+ *          MMU notifier which should invalidate the GPU PTEs.
+ *
+ * Phase 3: Create memory pressure by opening many pipes and forking
+ *          child processes.  This increases the chance that the freed
+ *          physical pages are reassigned.
+ *
+ * Phase 4: Poison the destination with 0xCC and submit a second SDMA
+ *          copy through the old VA range without the USERPTR BO in the
+ *          bo_list.  If PTEs were invalidated, the GPU will fault and
+ *          the fault handler will redirect reads to a zeroed dummy page.
+ *          The test checks that no original 0xAA data appears in the
+ *          destination.
+ */
+static void amdgpu_userptr_unmap_stress(amdgpu_device_handle dev)
+{
+	const struct amdgpu_ip_block_version *ip_block;
+	struct amdgpu_ring_context *ring_context;
+	amdgpu_bo_handle up_bo;
+	amdgpu_va_handle up_va_h;
+	uint64_t up_va;
+	void *up_cpu;
+	amdgpu_bo_handle dst_bo;
+	amdgpu_va_handle dst_va_h;
+	uint64_t dst_mc;
+	void *dst_cpu_ptr;
+	int (*pipes)[2];
+	unsigned int pipes_opened;
+	pid_t *children;
+	unsigned int children_spawned;
+	uint64_t off;
+	unsigned int i;
+	pid_t pid;
+	volatile uint8_t sink;
+	uint8_t *base;
+	uint8_t *scan;
+	uint64_t p;
+	unsigned int non_poison;
+	unsigned int original_count;
+	unsigned int page_faults;
+	unsigned long ts_before;
+	pid_t my_pid;
+	int r;
+
+	up_bo = NULL;
+	up_cpu = MAP_FAILED;
+	pipes = NULL;
+	pipes_opened = 0;
+	children = NULL;
+	children_spawned = 0;
+
+	ip_block = get_ip_block(dev, AMDGPU_HW_IP_DMA);
+	igt_assert(ip_block);
+
+	ring_context = calloc(1, sizeof(*ring_context));
+	igt_assert(ring_context);
+	ring_context->pm4 = calloc(PM4_DW, sizeof(*ring_context->pm4));
+	ring_context->pm4_size = PM4_DW;
+	ring_context->secure = false;
+	igt_assert(ring_context->pm4);
+
+	r = amdgpu_cs_ctx_create(dev, &ring_context->context_handle);
+	igt_assert_eq(r, 0);
+
+	r = amdgpu_bo_alloc_and_map(dev, STRESS_SCAN_CHUNK,
+				    sysconf(_SC_PAGE_SIZE),
+				    AMDGPU_GEM_DOMAIN_VRAM,
+				    AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
+				    &dst_bo, &dst_cpu_ptr, &dst_mc,
+				    &dst_va_h);
+	igt_assert_eq(r, 0);
+
+	/* Phase 1: allocate USERPTR region and establish GPU mappings */
+	igt_info("Phase 1: allocating %lu MB USERPTR region\n",
+		 (unsigned long)(STRESS_TARGET_SZ / (1024 * 1024)));
+
+	up_cpu = mmap(NULL, STRESS_TARGET_SZ, PROT_READ | PROT_WRITE,
+		      MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1, 0);
+	igt_assert(up_cpu != MAP_FAILED);
+	memset(up_cpu, 0xAA, STRESS_TARGET_SZ);
+
+	r = amdgpu_create_bo_from_user_mem(dev, up_cpu, STRESS_TARGET_SZ,
+					   &up_bo);
+	igt_assert_eq(r, 0);
+
+	r = amdgpu_va_range_alloc(dev, amdgpu_gpu_va_range_general,
+				  STRESS_TARGET_SZ, sysconf(_SC_PAGE_SIZE), 0,
+				  &up_va, &up_va_h, 0);
+	igt_assert_eq(r, 0);
+
+	r = amdgpu_bo_va_op(up_bo, 0, STRESS_TARGET_SZ, up_va, 0,
+			     AMDGPU_VA_OP_MAP);
+	igt_assert_eq(r, 0);
+
+	/* Touch pages at intervals to populate GPU PTEs */
+	sink = 0;
+	base = (uint8_t *)up_cpu;
+	for (off = 0; off < STRESS_TARGET_SZ; off += STRESS_PTE_STEP)
+		sink += base[off];
+	(void)sink;
+
+	/* Initial SDMA copy to ensure GPU has walked the page tables */
+	ring_context->bo_mc = up_va;
+	ring_context->bo_mc2 = dst_mc;
+	ring_context->write_length = STRESS_SCAN_CHUNK;
+	ring_context->resources[0] = up_bo;
+	ring_context->resources[1] = dst_bo;
+	ring_context->res_cnt = 2;
+
+	ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
+				     &ring_context->pm4_dw);
+	r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 0);
+	igt_assert_eq(r, 0);
+	igt_info("Phase 1: initial SDMA copy OK\n");
+
+	/* Phase 2: release USERPTR backing */
+	igt_info("Phase 2: munmap() %lu MB USERPTR backing\n",
+		 (unsigned long)(STRESS_TARGET_SZ / (1024 * 1024)));
+	my_pid = getpid();
+	ts_before = get_uptime_ms();
+	munmap(up_cpu, STRESS_TARGET_SZ);
+	up_cpu = MAP_FAILED;
+
+	/* Phase 3: create memory pressure */
+	igt_info("Phase 3: creating memory pressure\n");
+
+	pipes = calloc(STRESS_PIPES, sizeof(*pipes));
+	igt_assert(pipes);
+
+	for (i = 0; i < STRESS_PIPES; i++) {
+		if (pipe(pipes[i]) < 0) {
+			igt_info("  pipe allocation stopped at %u/%d (errno=%d)\n",
+				 i, STRESS_PIPES, errno);
+			break;
+		}
+		(void)write(pipes[i][1], "X", 1);
+		pipes_opened = i + 1;
+	}
+	igt_info("  opened %u pipes\n", pipes_opened);
+
+	children = calloc(STRESS_CHILDREN, sizeof(*children));
+	igt_assert(children);
+
+	for (i = 0; i < STRESS_CHILDREN; i++) {
+		pid = fork();
+		if (pid == 0) {
+			pause();
+			_exit(0);
+		}
+		igt_assert(pid > 0);
+		children[i] = pid;
+		children_spawned = i + 1;
+	}
+	igt_info("  spawned %u children\n", children_spawned);
+
+	/*
+	 * Phase 4: submit SDMA copy through the old VA range.
+	 *
+	 * The USERPTR BO is intentionally omitted from the bo_list so
+	 * the kernel does not attempt to revalidate it.  If the PTEs
+	 * were invalidated, the SDMA engine will fault and the kernel
+	 * fault handler will map a zeroed dummy page, so the
+	 * destination will contain zeros instead of the original 0xAA.
+	 */
+	igt_info("Phase 4: submitting CS through unmapped VA range\n");
+
+	memset(dst_cpu_ptr, 0xCC, STRESS_SCAN_CHUNK);
+
+	memset(ring_context->pm4, 0, PM4_DW * sizeof(uint32_t));
+	ring_context->pm4_dw = 0;
+	ring_context->bo_mc = up_va;
+	ring_context->bo_mc2 = dst_mc;
+	ring_context->write_length = STRESS_SCAN_CHUNK;
+	ring_context->res_cnt = 1;
+	ring_context->resources[0] = dst_bo;
+
+	ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
+				     &ring_context->pm4_dw);
+
+	r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 1);
+	if (ring_context->err_codes.err_code_cs_submit != 0) {
+		igt_info("  CS rejected (r=%d)\n",
+			 ring_context->err_codes.err_code_cs_submit);
+		goto cleanup;
+	}
+
+	/* Scan destination for original data pattern */
+	scan = (uint8_t *)dst_cpu_ptr;
+	non_poison = 0;
+	original_count = 0;
+	for (p = 0; p < STRESS_SCAN_CHUNK; p++) {
+		if (scan[p] != 0xCC)
+			non_poison++;
+		if (scan[p] == 0xAA)
+			original_count++;
+	}
+
+	igt_info("  %u/%lu non-poison bytes (%u original 0xAA)\n",
+		 non_poison, (unsigned long)STRESS_SCAN_CHUNK,
+		 original_count);
+
+cleanup:
+	for (i = 0; i < children_spawned; i++) {
+		kill(children[i], SIGKILL);
+		waitpid(children[i], NULL, 0);
+	}
+	free(children);
+
+	for (i = 0; i < pipes_opened; i++) {
+		close(pipes[i][0]);
+		close(pipes[i][1]);
+	}
+	free(pipes);
+
+	/*
+	 * Read GPU page faults after releasing file descriptors so
+	 * klogctl has room to work.  Brief sleep to let deferred
+	 * printk flush any remaining fault messages.
+	 */
+	usleep(500000);
+	page_faults = count_gpu_page_faults(my_pid, ts_before);
+	igt_info("  %u GPU page faults for PID %d\n",
+		 page_faults, (int)my_pid);
+
+	if (up_bo) {
+		amdgpu_bo_va_op(up_bo, 0, STRESS_TARGET_SZ, up_va, 0,
+				AMDGPU_VA_OP_UNMAP);
+		amdgpu_va_range_free(up_va_h);
+		amdgpu_bo_free(up_bo);
+	}
+
+	amdgpu_bo_unmap_and_free(dst_bo, dst_va_h, dst_mc, STRESS_SCAN_CHUNK);
+	amdgpu_cs_ctx_free(ring_context->context_handle);
+	free(ring_context->pm4);
+	free(ring_context);
+
+	/*
+	 * Invalidation is confirmed when any of the following holds:
+	 *
+	 *   (a) CS was rejected outright (already handled above).
+	 *   (b) GPU page faults were logged for this PID.
+	 *   (c) Destination contains non-original data (zeros from the
+	 *       dummy page), proving PTEs no longer point at the old
+	 *       physical pages.
+	 *
+	 * Page fault messages may be suppressed by printk ratelimiting,
+	 * so the data pattern check (c) is the primary detection method.
+	 */
+	if (page_faults > 0) {
+		igt_info("PTE invalidation confirmed: %u page faults\n",
+			 page_faults);
+	} else if (non_poison > 0 && original_count == 0) {
+		igt_info("PTE invalidation confirmed: dummy page data\n");
+	} else {
+		igt_assert_f(non_poison == 0 || original_count == 0,
+			     "destination contains %u bytes of original data "
+			     "(0xAA) after munmap with no GPU page faults\n",
+			     original_count);
+	}
+}
+
+int igt_main()
+{
+	amdgpu_device_handle device;
+	struct amdgpu_gpu_info gpu_info = {0};
+	uint32_t major, minor;
+	int fd = -1;
+	int r;
+	bool arr_cap[AMD_IP_MAX] = {0};
+
+	igt_fixture() {
+		log_total_time(true, igt_test_name());
+		fd = drm_open_driver(DRIVER_AMDGPU);
+
+		r = amdgpu_device_initialize(fd, &major, &minor, &device);
+		igt_require(r == 0);
+
+		igt_info("Initialized amdgpu, driver version %d.%d\n",
+			 major, minor);
+
+		r = amdgpu_query_gpu_info(device, &gpu_info);
+		igt_assert_eq(r, 0);
+
+		r = setup_amdgpu_ip_blocks(major, minor, &gpu_info, device);
+		igt_assert_eq(r, 0);
+
+		asic_rings_readness(device, 1, arr_cap);
+	}
+
+	igt_describe("Submit CS with USERPTR BO in bo_list after munmap "
+		     "and verify the kernel rejects it");
+	igt_subtest_with_dynamic("userptr-unmap-revalidate") {
+		igt_require(arr_cap[AMD_IP_DMA]);
+		igt_dynamic_f("userptr-unmap-revalidate")
+			amdgpu_userptr_unmap_revalidate(device);
+	}
+
+	igt_describe("Stress test: release large USERPTR backing under "
+		     "memory pressure and verify GPU PTEs are invalidated");
+	igt_subtest_with_dynamic("userptr-unmap-stress") {
+		igt_require(arr_cap[AMD_IP_DMA]);
+		igt_dynamic_f("userptr-unmap-stress")
+			amdgpu_userptr_unmap_stress(device);
+	}
+
+	igt_fixture() {
+		amdgpu_device_deinitialize(device);
+		drm_close_driver(fd);
+		log_total_time(false, igt_test_name());
+	}
+}
diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build
index 0dc689e40..801239547 100644
--- a/tests/amdgpu/meson.build
+++ b/tests/amdgpu/meson.build
@@ -53,6 +53,7 @@ if libdrm_amdgpu.found()
 			  'amd_vpe',
 			  'amd_mem',
 			  'amd_remote_mem',
+                          'amd_userptr_invalidation',
 			]
 	if libdrm_amdgpu.version().version_compare('> 2.4.97')
 		amdgpu_progs +=[ 'amd_syncobj', ]
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* ✓ i915.CI.BAT: success for tests/amdgpu: add USERPTR PTE invalidation regression test
  2026-05-12 18:21 [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test vitaly.prosyak
@ 2026-05-13  0:20 ` Patchwork
  2026-05-13  1:13 ` [PATCH] " Zhang, Jesse(Jie)
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2026-05-13  0:20 UTC (permalink / raw)
  To: vitaly.prosyak; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 3913 bytes --]

== Series Details ==

Series: tests/amdgpu: add USERPTR PTE invalidation regression test
URL   : https://patchwork.freedesktop.org/series/166440/
State : success

== Summary ==

CI Bug Log - changes from IGT_8907 -> IGTPW_15168
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/index.html

Participating hosts (42 -> 40)
------------------------------

  Missing    (2): bat-dg2-13 fi-snb-2520m 

Known issues
------------

  Here are the changes found in IGTPW_15168 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@dmabuf@all-tests:
    - fi-skl-6600u:       NOTRUN -> [SKIP][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/fi-skl-6600u/igt@dmabuf@all-tests.html

  * igt@i915_selftest@live:
    - bat-dg2-8:          [PASS][2] -> [DMESG-FAIL][3] ([i915#12061]) +1 other test dmesg-fail
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8907/bat-dg2-8/igt@i915_selftest@live.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/bat-dg2-8/igt@i915_selftest@live.html

  * igt@kms_addfb_basic@too-high:
    - bat-apl-1:          [PASS][4] -> [DMESG-WARN][5] ([i915#13735]) +38 other tests dmesg-warn
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8907/bat-apl-1/igt@kms_addfb_basic@too-high.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/bat-apl-1/igt@kms_addfb_basic@too-high.html

  * igt@kms_flip@basic-plain-flip@a-dp1:
    - bat-apl-1:          [PASS][6] -> [DMESG-WARN][7] ([i915#13735] / [i915#180]) +30 other tests dmesg-warn
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8907/bat-apl-1/igt@kms_flip@basic-plain-flip@a-dp1.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/bat-apl-1/igt@kms_flip@basic-plain-flip@a-dp1.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@coherency:
    - fi-skl-6600u:       [INCOMPLETE][8] -> [PASS][9] +1 other test pass
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8907/fi-skl-6600u/igt@i915_selftest@live@coherency.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/fi-skl-6600u/igt@i915_selftest@live@coherency.html

  * igt@i915_selftest@live@workarounds:
    - bat-mtlp-9:         [DMESG-FAIL][10] ([i915#12061]) -> [PASS][11] +1 other test pass
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8907/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/bat-mtlp-9/igt@i915_selftest@live@workarounds.html

  * igt@kms_hdmi_inject@inject-audio:
    - fi-tgl-1115g4:      [SKIP][12] ([i915#13030]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8907/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#13030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13030
  [i915#13735]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13735
  [i915#180]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/180


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_8907 -> IGTPW_15168
  * Linux: CI_DRM_18478 -> CI_DRM_18479

  CI-20190529: 20190529
  CI_DRM_18478: 161329a551bb5ebd34524b781cd7fb3d84b994be @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_18479: 8fbb3d48e61c7e68cefdba85c3fa3ba59e7a93b4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_15168: cb906051f0322f626e8ff2985aa3c8dc257781d5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8907: 6b305d78c65768c09cc7c0e902273bf409bbd218 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/index.html

[-- Attachment #2: Type: text/html, Size: 4849 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test
  2026-05-12 18:21 [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test vitaly.prosyak
  2026-05-13  0:20 ` ✓ i915.CI.BAT: success for " Patchwork
@ 2026-05-13  1:13 ` Zhang, Jesse(Jie)
  2026-05-13  1:33 ` ✓ Xe.CI.BAT: success for " Patchwork
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Zhang, Jesse(Jie) @ 2026-05-13  1:13 UTC (permalink / raw)
  To: Prosyak, Vitaly, igt-dev@lists.freedesktop.org
  Cc: Prosyak, Vitaly, Koenig, Christian, Deucher, Alexander

AMD General

This patch is good for me , and Reviewed-by: Jesse Zhang <jesse.zhang@amd.com

> -----Original Message-----
> From: vitaly.prosyak@amd.com <vitaly.prosyak@amd.com>
> Sent: Wednesday, May 13, 2026 2:22 AM
> To: igt-dev@lists.freedesktop.org
> Cc: Prosyak, Vitaly <Vitaly.Prosyak@amd.com>; Koenig, Christian
> <Christian.Koenig@amd.com>; Deucher, Alexander
> <Alexander.Deucher@amd.com>; Zhang, Jesse(Jie) <Jesse.Zhang@amd.com>
> Subject: [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test
>
> From: Vitaly Prosyak <vitaly.prosyak@amd.com>
>
> Add amd_userptr_invalidation test to verify that GPU page table entries are properly
> invalidated when the userspace backing of a USERPTR buffer object is released
> via munmap().
>
> The test contains two subtests:
>
>   userptr-unmap-revalidate:
>     Allocates a USERPTR BO, releases its backing via munmap(), then
>     submits a CS that still references the BO in the bo_list.  Verifies
>     that the kernel detects the invalidated BO during revalidation and
>     rejects the command submission.
>
>   userptr-unmap-stress:
>     Allocates a 256 MB USERPTR region, establishes GPU mappings with an
>     initial SDMA copy, releases the backing via munmap(), then creates
>     memory pressure with pipes and child processes.  A second SDMA copy
>     through the old VA range is submitted without the USERPTR BO in the
>     bo_list.  Verifies that GPU PTEs were invalidated by checking for
>     GPU page faults (via klogctl) and confirming that the destination
>     buffer does not contain the original data pattern.
>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Jesse Zhang <jesse.zhang@amd.com>
> Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
> ---
>  lib/amdgpu/amd_command_submission.c     |   2 +-
>  tests/amdgpu/amd_userptr_invalidation.c | 590 ++++++++++++++++++++++++
>  tests/amdgpu/meson.build                |   1 +
>  3 files changed, 592 insertions(+), 1 deletion(-)  create mode 100644
> tests/amdgpu/amd_userptr_invalidation.c
>
> diff --git a/lib/amdgpu/amd_command_submission.c
> b/lib/amdgpu/amd_command_submission.c
> index c80e06fb5..1a5fd9446 100644
> --- a/lib/amdgpu/amd_command_submission.c
> +++ b/lib/amdgpu/amd_command_submission.c
> @@ -139,7 +139,7 @@ int amdgpu_test_exec_cs_helper(amdgpu_device_handle
> device, unsigned int ip_type
>                                                0, &expired);
>               ring_context->err_codes.err_code_wait_for_fence = r;
>               if (expect_failure) {
> -                     igt_info("EXPECT FAILURE
> amdgpu_cs_query_fence_status%d"
> +                     igt_info("EXPECT FAILURE
> amdgpu_cs_query_fence_status %d\n"
>                                "expired %d PID %d\n", r, expired, getpid());
>               } else {
>                       /* we allow ECANCELED or ENODATA for good jobs
> temporally */ diff --git a/tests/amdgpu/amd_userptr_invalidation.c
> b/tests/amdgpu/amd_userptr_invalidation.c
> new file mode 100644
> index 000000000..6938c11a4
> --- /dev/null
> +++ b/tests/amdgpu/amd_userptr_invalidation.c
> @@ -0,0 +1,590 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright 2026 Advanced Micro Devices, Inc.
> + *
> + * Test for USERPTR BO PTE invalidation after munmap.
> + *
> + * When userspace releases the backing pages of a USERPTR buffer object
> + * via munmap(), the kernel must invalidate the corresponding GPU page
> + * table entries so that subsequent command submissions through the
> +same
> + * GPU virtual address range do not access the old physical pages.
> + *
> + * The test verifies two aspects of this behavior:
> + *
> + *   userptr-unmap-revalidate
> + *       Submits a CS that includes the USERPTR BO in its bo_list after
> + *       the backing has been released.  The kernel is expected to detect
> + *       the invalidated BO during revalidation and reject the submission.
> + *
> + *   userptr-unmap-stress
> + *       Allocates a large (256 MB) USERPTR region, establishes GPU
> + *       mappings via an initial SDMA copy, then releases the backing
> + *       and creates memory pressure with many pipes and child processes.
> + *       A second SDMA copy through the old VA range is submitted without
> + *       the USERPTR BO in the bo_list.  The test verifies that the GPU
> + *       does not read back the original data pattern (0xAA), confirming
> + *       that the PTEs were properly invalidated.
> + *
> + *       Detection uses three complementary signals:
> + *         - GPU page faults logged by the kernel (klogctl)
> + *         - destination buffer containing only zeros (dummy page)
> + *         - absence of original 0xAA pattern in destination
> + */
> +
> +#include <errno.h>
> +#include <fcntl.h>
> +#include <signal.h>
> +#include <stdint.h>
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <string.h>
> +#include <sys/mman.h>
> +#include <sys/klog.h>
> +#include <sys/wait.h>
> +#include <unistd.h>
> +
> +#include "igt.h"
> +#include "ioctl_wrappers.h"
> +#include "lib/amdgpu/amd_memory.h"
> +#include "lib/amdgpu/amd_sdma.h"
> +#include "lib/amdgpu/amd_ip_blocks.h"
> +#include "lib/amdgpu/amd_command_submission.h"
> +#include "lib/amdgpu/amd_utils.h"
> +
> +#define BUF_SZ                       (64 * 1024)
> +#define PM4_DW                       256
> +
> +#define STRESS_TARGET_SZ     (256UL * 1024 * 1024)
> +#define STRESS_CHILDREN              2048
> +#define STRESS_PIPES         200000
> +#define STRESS_SCAN_CHUNK    (4UL * 1024 * 1024)
> +#define STRESS_PTE_STEP              (64UL * 1024 * 1024)
> +
> +/**
> + * count_gpu_page_faults() - count GPU page faults in dmesg for a given
> +PID
> + * @pid: process ID to match in fault messages
> + * @since_uptime_ms: only count faults after this uptime (milliseconds)
> + *
> + * Read the kernel ring buffer via klogctl(3) and count lines
> +containing
> + * "[gfxhub] page fault" followed by the given PID on the next line.
> + * Only messages with a kernel timestamp >= @since_uptime_ms are counted.
> + *
> + * Return: number of matching page fault entries.
> + */
> +static unsigned int
> +count_gpu_page_faults(pid_t pid, unsigned long since_uptime_ms) {
> +     int bufsize, len;
> +     char *buf, *p, *line_start;
> +     unsigned int count = 0;
> +     unsigned int total_lines = 0;
> +     unsigned int fault_lines = 0;
> +     char pid_pattern[64];
> +     bool prev_was_fault = false;
> +
> +     snprintf(pid_pattern, sizeof(pid_pattern), "pid %d ", (int)pid);
> +
> +     bufsize = klogctl(10, NULL, 0);
> +     if (bufsize <= 0)
> +             bufsize = 1 << 20;
> +
> +     buf = malloc(bufsize + 1);
> +     if (!buf)
> +             return 0;
> +
> +     len = klogctl(3, buf, bufsize);
> +     if (len <= 0) {
> +             free(buf);
> +             return 0;
> +     }
> +     buf[len] = '\0';
> +
> +     line_start = buf;
> +     for (p = buf; p <= buf + len; p++) {
> +             const char *ts_start;
> +             double ts;
> +
> +             if (*p != '\n' && *p != '\0')
> +                     continue;
> +
> +             *p = '\0';
> +             total_lines++;
> +
> +             /* Filter by kernel timestamp */
> +             ts_start = strchr(line_start, '[');
> +             if (ts_start && sscanf(ts_start, "[%lf]", &ts) == 1) {
> +                     unsigned long ts_ms = (unsigned long)(ts * 1000.0);
> +
> +                     if (ts_ms < since_uptime_ms) {
> +                             prev_was_fault = false;
> +                             line_start = p + 1;
> +                             continue;
> +                     }
> +             }
> +
> +             if (strstr(line_start, "[gfxhub] page fault")) {
> +                     prev_was_fault = true;
> +                     fault_lines++;
> +             } else if (prev_was_fault && strstr(line_start, pid_pattern)) {
> +                     count++;
> +                     prev_was_fault = false;
> +             } else {
> +                     prev_was_fault = false;
> +             }
> +
> +             line_start = p + 1;
> +     }
> +
> +     igt_info("  klogctl: lines=%u faults=%u matched=%u\n",
> +              total_lines, fault_lines, count);
> +     free(buf);
> +     return count;
> +}
> +
> +/**
> + * get_uptime_ms() - read current system uptime in milliseconds
> + *
> + * Read /proc/uptime for the kernel monotonic timestamp that matches
> + * the timestamps used in dmesg.
> + *
> + * Return: uptime in milliseconds, or 0 on error.
> + */
> +static unsigned long get_uptime_ms(void) {
> +     FILE *fp;
> +     double uptime;
> +
> +     fp = fopen("/proc/uptime", "r");
> +     if (!fp)
> +             return 0;
> +     if (fscanf(fp, "%lf", &uptime) != 1)
> +             uptime = 0;
> +     fclose(fp);
> +     return (unsigned long)(uptime * 1000.0); }
> +
> +/**
> + * amdgpu_userptr_unmap_revalidate() - test CS rejection after munmap
> + * @dev: amdgpu device handle
> + *
> + * Allocate a USERPTR BO, release its backing via munmap(), then submit
> + * a CS that still references the BO in its bo_list.  The kernel should
> + * detect that the BO pages are no longer valid and reject the CS.
> + *
> + * If the CS is accepted, the destination buffer is scanned for bytes
> + * that do not match the original fill or zero patterns.
> + */
> +static void amdgpu_userptr_unmap_revalidate(amdgpu_device_handle dev) {
> +     const struct amdgpu_ip_block_version *ip_block;
> +     struct amdgpu_ring_context *ring_context;
> +     amdgpu_bo_handle up_bo;
> +     amdgpu_va_handle up_va_h;
> +     uint64_t up_va;
> +     void *up_cpu;
> +     amdgpu_bo_handle dst_bo;
> +     amdgpu_va_handle dst_va_h;
> +     uint64_t dst_mc;
> +     void *dst_cpu_ptr;
> +     uint8_t *dst;
> +     unsigned int suspicious;
> +     uint64_t i;
> +     int r;
> +
> +     ip_block = get_ip_block(dev, AMDGPU_HW_IP_DMA);
> +     igt_assert(ip_block);
> +
> +     ring_context = calloc(1, sizeof(*ring_context));
> +     igt_assert(ring_context);
> +     ring_context->write_length = BUF_SZ;
> +     ring_context->pm4 = calloc(PM4_DW, sizeof(*ring_context->pm4));
> +     ring_context->pm4_size = PM4_DW;
> +     ring_context->secure = false;
> +     ring_context->res_cnt = 2;
> +     igt_assert(ring_context->pm4);
> +
> +     r = amdgpu_cs_ctx_create(dev, &ring_context->context_handle);
> +     igt_assert_eq(r, 0);
> +
> +     /* Allocate and fill USERPTR BO */
> +     up_cpu = mmap(NULL, BUF_SZ, PROT_READ | PROT_WRITE,
> +                   MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1,
> 0);
> +     igt_assert(up_cpu != MAP_FAILED);
> +     memset(up_cpu, 0x77, BUF_SZ);
> +
> +     r = amdgpu_create_bo_from_user_mem(dev, up_cpu, BUF_SZ, &up_bo);
> +     igt_assert_eq(r, 0);
> +
> +     r = amdgpu_va_range_alloc(dev, amdgpu_gpu_va_range_general,
> +                               BUF_SZ, sysconf(_SC_PAGE_SIZE), 0,
> +                               &up_va, &up_va_h, 0);
> +     igt_assert_eq(r, 0);
> +
> +     r = amdgpu_bo_va_op(up_bo, 0, BUF_SZ, up_va, 0,
> AMDGPU_VA_OP_MAP);
> +     igt_assert_eq(r, 0);
> +
> +     /* Allocate VRAM destination */
> +     r = amdgpu_bo_alloc_and_map(dev, BUF_SZ, sysconf(_SC_PAGE_SIZE),
> +                                 AMDGPU_GEM_DOMAIN_VRAM,
> +
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
> +                                 &dst_bo, &dst_cpu_ptr, &dst_mc,
> +                                 &dst_va_h);
> +     igt_assert_eq(r, 0);
> +     memset(dst_cpu_ptr, 0, BUF_SZ);
> +
> +     /* Release USERPTR backing before CS */
> +     munmap(up_cpu, BUF_SZ);
> +
> +     /* Submit CS with invalidated USERPTR BO in bo_list */
> +     ring_context->bo_mc = up_va;
> +     ring_context->bo_mc2 = dst_mc;
> +     ring_context->resources[0] = up_bo;
> +     ring_context->resources[1] = dst_bo;
> +
> +     ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
> +                                  &ring_context->pm4_dw);
> +
> +     r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 1);
> +     r = ring_context->err_codes.err_code_cs_submit;
> +
> +     if (r != 0) {
> +             igt_info("CS rejected (r=%d) after munmap\n", r);
> +     } else {
> +             dst = (uint8_t *)dst_cpu_ptr;
> +             suspicious = 0;
> +             for (i = 0; i < BUF_SZ; i++) {
> +                     if (dst[i] != 0 && dst[i] != 0x77)
> +                             suspicious++;
> +             }
> +             igt_info("CS completed: %u/%d unexpected bytes\n",
> +                      suspicious, BUF_SZ);
> +     }
> +
> +     amdgpu_bo_unmap_and_free(dst_bo, dst_va_h, dst_mc, BUF_SZ);
> +     amdgpu_bo_va_op(up_bo, 0, BUF_SZ, up_va, 0,
> AMDGPU_VA_OP_UNMAP);
> +     amdgpu_va_range_free(up_va_h);
> +     amdgpu_bo_free(up_bo);
> +     amdgpu_cs_ctx_free(ring_context->context_handle);
> +     free(ring_context->pm4);
> +     free(ring_context);
> +}
> +
> +/**
> + * amdgpu_userptr_unmap_stress() - stress test PTE invalidation
> + * @dev: amdgpu device handle
> + *
> + * Phase 1: Allocate a large USERPTR region filled with 0xAA, create a
> + *          VRAM destination BO, and perform an initial SDMA copy to
> + *          populate GPU page table entries.
> + *
> + * Phase 2: Release the USERPTR backing via munmap().  This triggers the
> + *          MMU notifier which should invalidate the GPU PTEs.
> + *
> + * Phase 3: Create memory pressure by opening many pipes and forking
> + *          child processes.  This increases the chance that the freed
> + *          physical pages are reassigned.
> + *
> + * Phase 4: Poison the destination with 0xCC and submit a second SDMA
> + *          copy through the old VA range without the USERPTR BO in the
> + *          bo_list.  If PTEs were invalidated, the GPU will fault and
> + *          the fault handler will redirect reads to a zeroed dummy page.
> + *          The test checks that no original 0xAA data appears in the
> + *          destination.
> + */
> +static void amdgpu_userptr_unmap_stress(amdgpu_device_handle dev) {
> +     const struct amdgpu_ip_block_version *ip_block;
> +     struct amdgpu_ring_context *ring_context;
> +     amdgpu_bo_handle up_bo;
> +     amdgpu_va_handle up_va_h;
> +     uint64_t up_va;
> +     void *up_cpu;
> +     amdgpu_bo_handle dst_bo;
> +     amdgpu_va_handle dst_va_h;
> +     uint64_t dst_mc;
> +     void *dst_cpu_ptr;
> +     int (*pipes)[2];
> +     unsigned int pipes_opened;
> +     pid_t *children;
> +     unsigned int children_spawned;
> +     uint64_t off;
> +     unsigned int i;
> +     pid_t pid;
> +     volatile uint8_t sink;
> +     uint8_t *base;
> +     uint8_t *scan;
> +     uint64_t p;
> +     unsigned int non_poison;
> +     unsigned int original_count;
> +     unsigned int page_faults;
> +     unsigned long ts_before;
> +     pid_t my_pid;
> +     int r;
> +
> +     up_bo = NULL;
> +     up_cpu = MAP_FAILED;
> +     pipes = NULL;
> +     pipes_opened = 0;
> +     children = NULL;
> +     children_spawned = 0;
> +
> +     ip_block = get_ip_block(dev, AMDGPU_HW_IP_DMA);
> +     igt_assert(ip_block);
> +
> +     ring_context = calloc(1, sizeof(*ring_context));
> +     igt_assert(ring_context);
> +     ring_context->pm4 = calloc(PM4_DW, sizeof(*ring_context->pm4));
> +     ring_context->pm4_size = PM4_DW;
> +     ring_context->secure = false;
> +     igt_assert(ring_context->pm4);
> +
> +     r = amdgpu_cs_ctx_create(dev, &ring_context->context_handle);
> +     igt_assert_eq(r, 0);
> +
> +     r = amdgpu_bo_alloc_and_map(dev, STRESS_SCAN_CHUNK,
> +                                 sysconf(_SC_PAGE_SIZE),
> +                                 AMDGPU_GEM_DOMAIN_VRAM,
> +
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
> +                                 &dst_bo, &dst_cpu_ptr, &dst_mc,
> +                                 &dst_va_h);
> +     igt_assert_eq(r, 0);
> +
> +     /* Phase 1: allocate USERPTR region and establish GPU mappings */
> +     igt_info("Phase 1: allocating %lu MB USERPTR region\n",
> +              (unsigned long)(STRESS_TARGET_SZ / (1024 * 1024)));
> +
> +     up_cpu = mmap(NULL, STRESS_TARGET_SZ, PROT_READ |
> PROT_WRITE,
> +                   MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1,
> 0);
> +     igt_assert(up_cpu != MAP_FAILED);
> +     memset(up_cpu, 0xAA, STRESS_TARGET_SZ);
> +
> +     r = amdgpu_create_bo_from_user_mem(dev, up_cpu,
> STRESS_TARGET_SZ,
> +                                        &up_bo);
> +     igt_assert_eq(r, 0);
> +
> +     r = amdgpu_va_range_alloc(dev, amdgpu_gpu_va_range_general,
> +                               STRESS_TARGET_SZ,
> sysconf(_SC_PAGE_SIZE), 0,
> +                               &up_va, &up_va_h, 0);
> +     igt_assert_eq(r, 0);
> +
> +     r = amdgpu_bo_va_op(up_bo, 0, STRESS_TARGET_SZ, up_va, 0,
> +                          AMDGPU_VA_OP_MAP);
> +     igt_assert_eq(r, 0);
> +
> +     /* Touch pages at intervals to populate GPU PTEs */
> +     sink = 0;
> +     base = (uint8_t *)up_cpu;
> +     for (off = 0; off < STRESS_TARGET_SZ; off += STRESS_PTE_STEP)
> +             sink += base[off];
> +     (void)sink;
> +
> +     /* Initial SDMA copy to ensure GPU has walked the page tables */
> +     ring_context->bo_mc = up_va;
> +     ring_context->bo_mc2 = dst_mc;
> +     ring_context->write_length = STRESS_SCAN_CHUNK;
> +     ring_context->resources[0] = up_bo;
> +     ring_context->resources[1] = dst_bo;
> +     ring_context->res_cnt = 2;
> +
> +     ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
> +                                  &ring_context->pm4_dw);
> +     r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 0);
> +     igt_assert_eq(r, 0);
> +     igt_info("Phase 1: initial SDMA copy OK\n");
> +
> +     /* Phase 2: release USERPTR backing */
> +     igt_info("Phase 2: munmap() %lu MB USERPTR backing\n",
> +              (unsigned long)(STRESS_TARGET_SZ / (1024 * 1024)));
> +     my_pid = getpid();
> +     ts_before = get_uptime_ms();
> +     munmap(up_cpu, STRESS_TARGET_SZ);
> +     up_cpu = MAP_FAILED;
> +
> +     /* Phase 3: create memory pressure */
> +     igt_info("Phase 3: creating memory pressure\n");
> +
> +     pipes = calloc(STRESS_PIPES, sizeof(*pipes));
> +     igt_assert(pipes);
> +
> +     for (i = 0; i < STRESS_PIPES; i++) {
> +             if (pipe(pipes[i]) < 0) {
> +                     igt_info("  pipe allocation stopped at %u/%d (errno=%d)\n",
> +                              i, STRESS_PIPES, errno);
> +                     break;
> +             }
> +             (void)write(pipes[i][1], "X", 1);
> +             pipes_opened = i + 1;
> +     }
> +     igt_info("  opened %u pipes\n", pipes_opened);
> +
> +     children = calloc(STRESS_CHILDREN, sizeof(*children));
> +     igt_assert(children);
> +
> +     for (i = 0; i < STRESS_CHILDREN; i++) {
> +             pid = fork();
> +             if (pid == 0) {
> +                     pause();
> +                     _exit(0);
> +             }
> +             igt_assert(pid > 0);
> +             children[i] = pid;
> +             children_spawned = i + 1;
> +     }
> +     igt_info("  spawned %u children\n", children_spawned);
> +
> +     /*
> +      * Phase 4: submit SDMA copy through the old VA range.
> +      *
> +      * The USERPTR BO is intentionally omitted from the bo_list so
> +      * the kernel does not attempt to revalidate it.  If the PTEs
> +      * were invalidated, the SDMA engine will fault and the kernel
> +      * fault handler will map a zeroed dummy page, so the
> +      * destination will contain zeros instead of the original 0xAA.
> +      */
> +     igt_info("Phase 4: submitting CS through unmapped VA range\n");
> +
> +     memset(dst_cpu_ptr, 0xCC, STRESS_SCAN_CHUNK);
> +
> +     memset(ring_context->pm4, 0, PM4_DW * sizeof(uint32_t));
> +     ring_context->pm4_dw = 0;
> +     ring_context->bo_mc = up_va;
> +     ring_context->bo_mc2 = dst_mc;
> +     ring_context->write_length = STRESS_SCAN_CHUNK;
> +     ring_context->res_cnt = 1;
> +     ring_context->resources[0] = dst_bo;
> +
> +     ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
> +                                  &ring_context->pm4_dw);
> +
> +     r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 1);
> +     if (ring_context->err_codes.err_code_cs_submit != 0) {
> +             igt_info("  CS rejected (r=%d)\n",
> +                      ring_context->err_codes.err_code_cs_submit);
> +             goto cleanup;
> +     }
> +
> +     /* Scan destination for original data pattern */
> +     scan = (uint8_t *)dst_cpu_ptr;
> +     non_poison = 0;
> +     original_count = 0;
> +     for (p = 0; p < STRESS_SCAN_CHUNK; p++) {
> +             if (scan[p] != 0xCC)
> +                     non_poison++;
> +             if (scan[p] == 0xAA)
> +                     original_count++;
> +     }
> +
> +     igt_info("  %u/%lu non-poison bytes (%u original 0xAA)\n",
> +              non_poison, (unsigned long)STRESS_SCAN_CHUNK,
> +              original_count);
> +
> +cleanup:
> +     for (i = 0; i < children_spawned; i++) {
> +             kill(children[i], SIGKILL);
> +             waitpid(children[i], NULL, 0);
> +     }
> +     free(children);
> +
> +     for (i = 0; i < pipes_opened; i++) {
> +             close(pipes[i][0]);
> +             close(pipes[i][1]);
> +     }
> +     free(pipes);
> +
> +     /*
> +      * Read GPU page faults after releasing file descriptors so
> +      * klogctl has room to work.  Brief sleep to let deferred
> +      * printk flush any remaining fault messages.
> +      */
> +     usleep(500000);
> +     page_faults = count_gpu_page_faults(my_pid, ts_before);
> +     igt_info("  %u GPU page faults for PID %d\n",
> +              page_faults, (int)my_pid);
> +
> +     if (up_bo) {
> +             amdgpu_bo_va_op(up_bo, 0, STRESS_TARGET_SZ, up_va, 0,
> +                             AMDGPU_VA_OP_UNMAP);
> +             amdgpu_va_range_free(up_va_h);
> +             amdgpu_bo_free(up_bo);
> +     }
> +
> +     amdgpu_bo_unmap_and_free(dst_bo, dst_va_h, dst_mc,
> STRESS_SCAN_CHUNK);
> +     amdgpu_cs_ctx_free(ring_context->context_handle);
> +     free(ring_context->pm4);
> +     free(ring_context);
> +
> +     /*
> +      * Invalidation is confirmed when any of the following holds:
> +      *
> +      *   (a) CS was rejected outright (already handled above).
> +      *   (b) GPU page faults were logged for this PID.
> +      *   (c) Destination contains non-original data (zeros from the
> +      *       dummy page), proving PTEs no longer point at the old
> +      *       physical pages.
> +      *
> +      * Page fault messages may be suppressed by printk ratelimiting,
> +      * so the data pattern check (c) is the primary detection method.
> +      */
> +     if (page_faults > 0) {
> +             igt_info("PTE invalidation confirmed: %u page faults\n",
> +                      page_faults);
> +     } else if (non_poison > 0 && original_count == 0) {
> +             igt_info("PTE invalidation confirmed: dummy page data\n");
> +     } else {
> +             igt_assert_f(non_poison == 0 || original_count == 0,
> +                          "destination contains %u bytes of original data "
> +                          "(0xAA) after munmap with no GPU page faults\n",
> +                          original_count);
> +     }
> +}
> +
> +int igt_main()
> +{
> +     amdgpu_device_handle device;
> +     struct amdgpu_gpu_info gpu_info = {0};
> +     uint32_t major, minor;
> +     int fd = -1;
> +     int r;
> +     bool arr_cap[AMD_IP_MAX] = {0};
> +
> +     igt_fixture() {
> +             log_total_time(true, igt_test_name());
> +             fd = drm_open_driver(DRIVER_AMDGPU);
> +
> +             r = amdgpu_device_initialize(fd, &major, &minor, &device);
> +             igt_require(r == 0);
> +
> +             igt_info("Initialized amdgpu, driver version %d.%d\n",
> +                      major, minor);
> +
> +             r = amdgpu_query_gpu_info(device, &gpu_info);
> +             igt_assert_eq(r, 0);
> +
> +             r = setup_amdgpu_ip_blocks(major, minor, &gpu_info, device);
> +             igt_assert_eq(r, 0);
> +
> +             asic_rings_readness(device, 1, arr_cap);
> +     }
> +
> +     igt_describe("Submit CS with USERPTR BO in bo_list after munmap "
> +                  "and verify the kernel rejects it");
> +     igt_subtest_with_dynamic("userptr-unmap-revalidate") {
> +             igt_require(arr_cap[AMD_IP_DMA]);
> +             igt_dynamic_f("userptr-unmap-revalidate")
> +                     amdgpu_userptr_unmap_revalidate(device);
> +     }
> +
> +     igt_describe("Stress test: release large USERPTR backing under "
> +                  "memory pressure and verify GPU PTEs are invalidated");
> +     igt_subtest_with_dynamic("userptr-unmap-stress") {
> +             igt_require(arr_cap[AMD_IP_DMA]);
> +             igt_dynamic_f("userptr-unmap-stress")
> +                     amdgpu_userptr_unmap_stress(device);
> +     }
> +
> +     igt_fixture() {
> +             amdgpu_device_deinitialize(device);
> +             drm_close_driver(fd);
> +             log_total_time(false, igt_test_name());
> +     }
> +}
> diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build index
> 0dc689e40..801239547 100644
> --- a/tests/amdgpu/meson.build
> +++ b/tests/amdgpu/meson.build
> @@ -53,6 +53,7 @@ if libdrm_amdgpu.found()
>                         'amd_vpe',
>                         'amd_mem',
>                         'amd_remote_mem',
> +                          'amd_userptr_invalidation',
>                       ]
>       if libdrm_amdgpu.version().version_compare('> 2.4.97')
>               amdgpu_progs +=[ 'amd_syncobj', ]
> --
> 2.54.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* ✓ Xe.CI.BAT: success for tests/amdgpu: add USERPTR PTE invalidation regression test
  2026-05-12 18:21 [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test vitaly.prosyak
  2026-05-13  0:20 ` ✓ i915.CI.BAT: success for " Patchwork
  2026-05-13  1:13 ` [PATCH] " Zhang, Jesse(Jie)
@ 2026-05-13  1:33 ` Patchwork
  2026-05-13  7:02 ` [PATCH] " Christian König
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2026-05-13  1:33 UTC (permalink / raw)
  To: vitaly.prosyak; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 1174 bytes --]

== Series Details ==

Series: tests/amdgpu: add USERPTR PTE invalidation regression test
URL   : https://patchwork.freedesktop.org/series/166440/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8907_BAT -> XEIGTPW_15168_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (13 -> 13)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


Build changes
-------------

  * IGT: IGT_8907 -> IGTPW_15168
  * Linux: xe-5050-9cb559e83f7f3c02c8c6566d3446cd37ecc56e86 -> xe-5052-161329a551bb5ebd34524b781cd7fb3d84b994be

  IGTPW_15168: cb906051f0322f626e8ff2985aa3c8dc257781d5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8907: 6b305d78c65768c09cc7c0e902273bf409bbd218 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5050-9cb559e83f7f3c02c8c6566d3446cd37ecc56e86: 9cb559e83f7f3c02c8c6566d3446cd37ecc56e86
  xe-5052-161329a551bb5ebd34524b781cd7fb3d84b994be: 161329a551bb5ebd34524b781cd7fb3d84b994be

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/index.html

[-- Attachment #2: Type: text/html, Size: 1733 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test
  2026-05-12 18:21 [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test vitaly.prosyak
                   ` (2 preceding siblings ...)
  2026-05-13  1:33 ` ✓ Xe.CI.BAT: success for " Patchwork
@ 2026-05-13  7:02 ` Christian König
  2026-05-13 19:15 ` ✗ Xe.CI.FULL: failure for " Patchwork
  2026-05-14  0:41 ` ✗ i915.CI.Full: " Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Christian König @ 2026-05-13  7:02 UTC (permalink / raw)
  To: vitaly.prosyak, igt-dev; +Cc: Alex Deucher, Jesse Zhang

On 5/12/26 20:21, vitaly.prosyak@amd.com wrote:
> From: Vitaly Prosyak <vitaly.prosyak@amd.com>
> 
> Add amd_userptr_invalidation test to verify that GPU page table entries
> are properly invalidated when the userspace backing of a USERPTR buffer
> object is released via munmap().
> 
> The test contains two subtests:
> 
>   userptr-unmap-revalidate:
>     Allocates a USERPTR BO, releases its backing via munmap(), then
>     submits a CS that still references the BO in the bo_list.  Verifies
>     that the kernel detects the invalidated BO during revalidation and
>     rejects the command submission.
> 
>   userptr-unmap-stress:
>     Allocates a 256 MB USERPTR region, establishes GPU mappings with an
>     initial SDMA copy, releases the backing via munmap(), then creates
>     memory pressure with pipes and child processes.  A second SDMA copy
>     through the old VA range is submitted without the USERPTR BO in the
>     bo_list.  Verifies that GPU PTEs were invalidated by checking for
>     GPU page faults (via klogctl) and confirming that the destination
>     buffer does not contain the original data pattern.
> 
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Jesse Zhang <jesse.zhang@amd.com>
> Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com>

Skimming over it the patch looks like it does the right thing, but I'm certainly not an expert for the code base.

So only Acked-by: Christian König <christian.koenig@amd.com>.

Regards,
Christian.

> ---
>  lib/amdgpu/amd_command_submission.c     |   2 +-
>  tests/amdgpu/amd_userptr_invalidation.c | 590 ++++++++++++++++++++++++
>  tests/amdgpu/meson.build                |   1 +
>  3 files changed, 592 insertions(+), 1 deletion(-)
>  create mode 100644 tests/amdgpu/amd_userptr_invalidation.c
> 
> diff --git a/lib/amdgpu/amd_command_submission.c b/lib/amdgpu/amd_command_submission.c
> index c80e06fb5..1a5fd9446 100644
> --- a/lib/amdgpu/amd_command_submission.c
> +++ b/lib/amdgpu/amd_command_submission.c
> @@ -139,7 +139,7 @@ int amdgpu_test_exec_cs_helper(amdgpu_device_handle device, unsigned int ip_type
>  						 0, &expired);
>  		ring_context->err_codes.err_code_wait_for_fence = r;
>  		if (expect_failure) {
> -			igt_info("EXPECT FAILURE amdgpu_cs_query_fence_status%d"
> +			igt_info("EXPECT FAILURE amdgpu_cs_query_fence_status %d\n"
>  				 "expired %d PID %d\n", r, expired, getpid());
>  		} else {
>  			/* we allow ECANCELED or ENODATA for good jobs temporally */
> diff --git a/tests/amdgpu/amd_userptr_invalidation.c b/tests/amdgpu/amd_userptr_invalidation.c
> new file mode 100644
> index 000000000..6938c11a4
> --- /dev/null
> +++ b/tests/amdgpu/amd_userptr_invalidation.c
> @@ -0,0 +1,590 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright 2026 Advanced Micro Devices, Inc.
> + *
> + * Test for USERPTR BO PTE invalidation after munmap.
> + *
> + * When userspace releases the backing pages of a USERPTR buffer object
> + * via munmap(), the kernel must invalidate the corresponding GPU page
> + * table entries so that subsequent command submissions through the same
> + * GPU virtual address range do not access the old physical pages.
> + *
> + * The test verifies two aspects of this behavior:
> + *
> + *   userptr-unmap-revalidate
> + *       Submits a CS that includes the USERPTR BO in its bo_list after
> + *       the backing has been released.  The kernel is expected to detect
> + *       the invalidated BO during revalidation and reject the submission.
> + *
> + *   userptr-unmap-stress
> + *       Allocates a large (256 MB) USERPTR region, establishes GPU
> + *       mappings via an initial SDMA copy, then releases the backing
> + *       and creates memory pressure with many pipes and child processes.
> + *       A second SDMA copy through the old VA range is submitted without
> + *       the USERPTR BO in the bo_list.  The test verifies that the GPU
> + *       does not read back the original data pattern (0xAA), confirming
> + *       that the PTEs were properly invalidated.
> + *
> + *       Detection uses three complementary signals:
> + *         - GPU page faults logged by the kernel (klogctl)
> + *         - destination buffer containing only zeros (dummy page)
> + *         - absence of original 0xAA pattern in destination
> + */
> +
> +#include <errno.h>
> +#include <fcntl.h>
> +#include <signal.h>
> +#include <stdint.h>
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <string.h>
> +#include <sys/mman.h>
> +#include <sys/klog.h>
> +#include <sys/wait.h>
> +#include <unistd.h>
> +
> +#include "igt.h"
> +#include "ioctl_wrappers.h"
> +#include "lib/amdgpu/amd_memory.h"
> +#include "lib/amdgpu/amd_sdma.h"
> +#include "lib/amdgpu/amd_ip_blocks.h"
> +#include "lib/amdgpu/amd_command_submission.h"
> +#include "lib/amdgpu/amd_utils.h"
> +
> +#define BUF_SZ			(64 * 1024)
> +#define PM4_DW			256
> +
> +#define STRESS_TARGET_SZ	(256UL * 1024 * 1024)
> +#define STRESS_CHILDREN		2048
> +#define STRESS_PIPES		200000
> +#define STRESS_SCAN_CHUNK	(4UL * 1024 * 1024)
> +#define STRESS_PTE_STEP		(64UL * 1024 * 1024)
> +
> +/**
> + * count_gpu_page_faults() - count GPU page faults in dmesg for a given PID
> + * @pid: process ID to match in fault messages
> + * @since_uptime_ms: only count faults after this uptime (milliseconds)
> + *
> + * Read the kernel ring buffer via klogctl(3) and count lines containing
> + * "[gfxhub] page fault" followed by the given PID on the next line.
> + * Only messages with a kernel timestamp >= @since_uptime_ms are counted.
> + *
> + * Return: number of matching page fault entries.
> + */
> +static unsigned int
> +count_gpu_page_faults(pid_t pid, unsigned long since_uptime_ms)
> +{
> +	int bufsize, len;
> +	char *buf, *p, *line_start;
> +	unsigned int count = 0;
> +	unsigned int total_lines = 0;
> +	unsigned int fault_lines = 0;
> +	char pid_pattern[64];
> +	bool prev_was_fault = false;
> +
> +	snprintf(pid_pattern, sizeof(pid_pattern), "pid %d ", (int)pid);
> +
> +	bufsize = klogctl(10, NULL, 0);
> +	if (bufsize <= 0)
> +		bufsize = 1 << 20;
> +
> +	buf = malloc(bufsize + 1);
> +	if (!buf)
> +		return 0;
> +
> +	len = klogctl(3, buf, bufsize);
> +	if (len <= 0) {
> +		free(buf);
> +		return 0;
> +	}
> +	buf[len] = '\0';
> +
> +	line_start = buf;
> +	for (p = buf; p <= buf + len; p++) {
> +		const char *ts_start;
> +		double ts;
> +
> +		if (*p != '\n' && *p != '\0')
> +			continue;
> +
> +		*p = '\0';
> +		total_lines++;
> +
> +		/* Filter by kernel timestamp */
> +		ts_start = strchr(line_start, '[');
> +		if (ts_start && sscanf(ts_start, "[%lf]", &ts) == 1) {
> +			unsigned long ts_ms = (unsigned long)(ts * 1000.0);
> +
> +			if (ts_ms < since_uptime_ms) {
> +				prev_was_fault = false;
> +				line_start = p + 1;
> +				continue;
> +			}
> +		}
> +
> +		if (strstr(line_start, "[gfxhub] page fault")) {
> +			prev_was_fault = true;
> +			fault_lines++;
> +		} else if (prev_was_fault && strstr(line_start, pid_pattern)) {
> +			count++;
> +			prev_was_fault = false;
> +		} else {
> +			prev_was_fault = false;
> +		}
> +
> +		line_start = p + 1;
> +	}
> +
> +	igt_info("  klogctl: lines=%u faults=%u matched=%u\n",
> +		 total_lines, fault_lines, count);
> +	free(buf);
> +	return count;
> +}
> +
> +/**
> + * get_uptime_ms() - read current system uptime in milliseconds
> + *
> + * Read /proc/uptime for the kernel monotonic timestamp that matches
> + * the timestamps used in dmesg.
> + *
> + * Return: uptime in milliseconds, or 0 on error.
> + */
> +static unsigned long get_uptime_ms(void)
> +{
> +	FILE *fp;
> +	double uptime;
> +
> +	fp = fopen("/proc/uptime", "r");
> +	if (!fp)
> +		return 0;
> +	if (fscanf(fp, "%lf", &uptime) != 1)
> +		uptime = 0;
> +	fclose(fp);
> +	return (unsigned long)(uptime * 1000.0);
> +}
> +
> +/**
> + * amdgpu_userptr_unmap_revalidate() - test CS rejection after munmap
> + * @dev: amdgpu device handle
> + *
> + * Allocate a USERPTR BO, release its backing via munmap(), then submit
> + * a CS that still references the BO in its bo_list.  The kernel should
> + * detect that the BO pages are no longer valid and reject the CS.
> + *
> + * If the CS is accepted, the destination buffer is scanned for bytes
> + * that do not match the original fill or zero patterns.
> + */
> +static void amdgpu_userptr_unmap_revalidate(amdgpu_device_handle dev)
> +{
> +	const struct amdgpu_ip_block_version *ip_block;
> +	struct amdgpu_ring_context *ring_context;
> +	amdgpu_bo_handle up_bo;
> +	amdgpu_va_handle up_va_h;
> +	uint64_t up_va;
> +	void *up_cpu;
> +	amdgpu_bo_handle dst_bo;
> +	amdgpu_va_handle dst_va_h;
> +	uint64_t dst_mc;
> +	void *dst_cpu_ptr;
> +	uint8_t *dst;
> +	unsigned int suspicious;
> +	uint64_t i;
> +	int r;
> +
> +	ip_block = get_ip_block(dev, AMDGPU_HW_IP_DMA);
> +	igt_assert(ip_block);
> +
> +	ring_context = calloc(1, sizeof(*ring_context));
> +	igt_assert(ring_context);
> +	ring_context->write_length = BUF_SZ;
> +	ring_context->pm4 = calloc(PM4_DW, sizeof(*ring_context->pm4));
> +	ring_context->pm4_size = PM4_DW;
> +	ring_context->secure = false;
> +	ring_context->res_cnt = 2;
> +	igt_assert(ring_context->pm4);
> +
> +	r = amdgpu_cs_ctx_create(dev, &ring_context->context_handle);
> +	igt_assert_eq(r, 0);
> +
> +	/* Allocate and fill USERPTR BO */
> +	up_cpu = mmap(NULL, BUF_SZ, PROT_READ | PROT_WRITE,
> +		      MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1, 0);
> +	igt_assert(up_cpu != MAP_FAILED);
> +	memset(up_cpu, 0x77, BUF_SZ);
> +
> +	r = amdgpu_create_bo_from_user_mem(dev, up_cpu, BUF_SZ, &up_bo);
> +	igt_assert_eq(r, 0);
> +
> +	r = amdgpu_va_range_alloc(dev, amdgpu_gpu_va_range_general,
> +				  BUF_SZ, sysconf(_SC_PAGE_SIZE), 0,
> +				  &up_va, &up_va_h, 0);
> +	igt_assert_eq(r, 0);
> +
> +	r = amdgpu_bo_va_op(up_bo, 0, BUF_SZ, up_va, 0, AMDGPU_VA_OP_MAP);
> +	igt_assert_eq(r, 0);
> +
> +	/* Allocate VRAM destination */
> +	r = amdgpu_bo_alloc_and_map(dev, BUF_SZ, sysconf(_SC_PAGE_SIZE),
> +				    AMDGPU_GEM_DOMAIN_VRAM,
> +				    AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
> +				    &dst_bo, &dst_cpu_ptr, &dst_mc,
> +				    &dst_va_h);
> +	igt_assert_eq(r, 0);
> +	memset(dst_cpu_ptr, 0, BUF_SZ);
> +
> +	/* Release USERPTR backing before CS */
> +	munmap(up_cpu, BUF_SZ);
> +
> +	/* Submit CS with invalidated USERPTR BO in bo_list */
> +	ring_context->bo_mc = up_va;
> +	ring_context->bo_mc2 = dst_mc;
> +	ring_context->resources[0] = up_bo;
> +	ring_context->resources[1] = dst_bo;
> +
> +	ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
> +				     &ring_context->pm4_dw);
> +
> +	r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 1);
> +	r = ring_context->err_codes.err_code_cs_submit;
> +
> +	if (r != 0) {
> +		igt_info("CS rejected (r=%d) after munmap\n", r);
> +	} else {
> +		dst = (uint8_t *)dst_cpu_ptr;
> +		suspicious = 0;
> +		for (i = 0; i < BUF_SZ; i++) {
> +			if (dst[i] != 0 && dst[i] != 0x77)
> +				suspicious++;
> +		}
> +		igt_info("CS completed: %u/%d unexpected bytes\n",
> +			 suspicious, BUF_SZ);
> +	}
> +
> +	amdgpu_bo_unmap_and_free(dst_bo, dst_va_h, dst_mc, BUF_SZ);
> +	amdgpu_bo_va_op(up_bo, 0, BUF_SZ, up_va, 0, AMDGPU_VA_OP_UNMAP);
> +	amdgpu_va_range_free(up_va_h);
> +	amdgpu_bo_free(up_bo);
> +	amdgpu_cs_ctx_free(ring_context->context_handle);
> +	free(ring_context->pm4);
> +	free(ring_context);
> +}
> +
> +/**
> + * amdgpu_userptr_unmap_stress() - stress test PTE invalidation
> + * @dev: amdgpu device handle
> + *
> + * Phase 1: Allocate a large USERPTR region filled with 0xAA, create a
> + *          VRAM destination BO, and perform an initial SDMA copy to
> + *          populate GPU page table entries.
> + *
> + * Phase 2: Release the USERPTR backing via munmap().  This triggers the
> + *          MMU notifier which should invalidate the GPU PTEs.
> + *
> + * Phase 3: Create memory pressure by opening many pipes and forking
> + *          child processes.  This increases the chance that the freed
> + *          physical pages are reassigned.
> + *
> + * Phase 4: Poison the destination with 0xCC and submit a second SDMA
> + *          copy through the old VA range without the USERPTR BO in the
> + *          bo_list.  If PTEs were invalidated, the GPU will fault and
> + *          the fault handler will redirect reads to a zeroed dummy page.
> + *          The test checks that no original 0xAA data appears in the
> + *          destination.
> + */
> +static void amdgpu_userptr_unmap_stress(amdgpu_device_handle dev)
> +{
> +	const struct amdgpu_ip_block_version *ip_block;
> +	struct amdgpu_ring_context *ring_context;
> +	amdgpu_bo_handle up_bo;
> +	amdgpu_va_handle up_va_h;
> +	uint64_t up_va;
> +	void *up_cpu;
> +	amdgpu_bo_handle dst_bo;
> +	amdgpu_va_handle dst_va_h;
> +	uint64_t dst_mc;
> +	void *dst_cpu_ptr;
> +	int (*pipes)[2];
> +	unsigned int pipes_opened;
> +	pid_t *children;
> +	unsigned int children_spawned;
> +	uint64_t off;
> +	unsigned int i;
> +	pid_t pid;
> +	volatile uint8_t sink;
> +	uint8_t *base;
> +	uint8_t *scan;
> +	uint64_t p;
> +	unsigned int non_poison;
> +	unsigned int original_count;
> +	unsigned int page_faults;
> +	unsigned long ts_before;
> +	pid_t my_pid;
> +	int r;
> +
> +	up_bo = NULL;
> +	up_cpu = MAP_FAILED;
> +	pipes = NULL;
> +	pipes_opened = 0;
> +	children = NULL;
> +	children_spawned = 0;
> +
> +	ip_block = get_ip_block(dev, AMDGPU_HW_IP_DMA);
> +	igt_assert(ip_block);
> +
> +	ring_context = calloc(1, sizeof(*ring_context));
> +	igt_assert(ring_context);
> +	ring_context->pm4 = calloc(PM4_DW, sizeof(*ring_context->pm4));
> +	ring_context->pm4_size = PM4_DW;
> +	ring_context->secure = false;
> +	igt_assert(ring_context->pm4);
> +
> +	r = amdgpu_cs_ctx_create(dev, &ring_context->context_handle);
> +	igt_assert_eq(r, 0);
> +
> +	r = amdgpu_bo_alloc_and_map(dev, STRESS_SCAN_CHUNK,
> +				    sysconf(_SC_PAGE_SIZE),
> +				    AMDGPU_GEM_DOMAIN_VRAM,
> +				    AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
> +				    &dst_bo, &dst_cpu_ptr, &dst_mc,
> +				    &dst_va_h);
> +	igt_assert_eq(r, 0);
> +
> +	/* Phase 1: allocate USERPTR region and establish GPU mappings */
> +	igt_info("Phase 1: allocating %lu MB USERPTR region\n",
> +		 (unsigned long)(STRESS_TARGET_SZ / (1024 * 1024)));
> +
> +	up_cpu = mmap(NULL, STRESS_TARGET_SZ, PROT_READ | PROT_WRITE,
> +		      MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1, 0);
> +	igt_assert(up_cpu != MAP_FAILED);
> +	memset(up_cpu, 0xAA, STRESS_TARGET_SZ);
> +
> +	r = amdgpu_create_bo_from_user_mem(dev, up_cpu, STRESS_TARGET_SZ,
> +					   &up_bo);
> +	igt_assert_eq(r, 0);
> +
> +	r = amdgpu_va_range_alloc(dev, amdgpu_gpu_va_range_general,
> +				  STRESS_TARGET_SZ, sysconf(_SC_PAGE_SIZE), 0,
> +				  &up_va, &up_va_h, 0);
> +	igt_assert_eq(r, 0);
> +
> +	r = amdgpu_bo_va_op(up_bo, 0, STRESS_TARGET_SZ, up_va, 0,
> +			     AMDGPU_VA_OP_MAP);
> +	igt_assert_eq(r, 0);
> +
> +	/* Touch pages at intervals to populate GPU PTEs */
> +	sink = 0;
> +	base = (uint8_t *)up_cpu;
> +	for (off = 0; off < STRESS_TARGET_SZ; off += STRESS_PTE_STEP)
> +		sink += base[off];
> +	(void)sink;
> +
> +	/* Initial SDMA copy to ensure GPU has walked the page tables */
> +	ring_context->bo_mc = up_va;
> +	ring_context->bo_mc2 = dst_mc;
> +	ring_context->write_length = STRESS_SCAN_CHUNK;
> +	ring_context->resources[0] = up_bo;
> +	ring_context->resources[1] = dst_bo;
> +	ring_context->res_cnt = 2;
> +
> +	ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
> +				     &ring_context->pm4_dw);
> +	r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 0);
> +	igt_assert_eq(r, 0);
> +	igt_info("Phase 1: initial SDMA copy OK\n");
> +
> +	/* Phase 2: release USERPTR backing */
> +	igt_info("Phase 2: munmap() %lu MB USERPTR backing\n",
> +		 (unsigned long)(STRESS_TARGET_SZ / (1024 * 1024)));
> +	my_pid = getpid();
> +	ts_before = get_uptime_ms();
> +	munmap(up_cpu, STRESS_TARGET_SZ);
> +	up_cpu = MAP_FAILED;
> +
> +	/* Phase 3: create memory pressure */
> +	igt_info("Phase 3: creating memory pressure\n");
> +
> +	pipes = calloc(STRESS_PIPES, sizeof(*pipes));
> +	igt_assert(pipes);
> +
> +	for (i = 0; i < STRESS_PIPES; i++) {
> +		if (pipe(pipes[i]) < 0) {
> +			igt_info("  pipe allocation stopped at %u/%d (errno=%d)\n",
> +				 i, STRESS_PIPES, errno);
> +			break;
> +		}
> +		(void)write(pipes[i][1], "X", 1);
> +		pipes_opened = i + 1;
> +	}
> +	igt_info("  opened %u pipes\n", pipes_opened);
> +
> +	children = calloc(STRESS_CHILDREN, sizeof(*children));
> +	igt_assert(children);
> +
> +	for (i = 0; i < STRESS_CHILDREN; i++) {
> +		pid = fork();
> +		if (pid == 0) {
> +			pause();
> +			_exit(0);
> +		}
> +		igt_assert(pid > 0);
> +		children[i] = pid;
> +		children_spawned = i + 1;
> +	}
> +	igt_info("  spawned %u children\n", children_spawned);
> +
> +	/*
> +	 * Phase 4: submit SDMA copy through the old VA range.
> +	 *
> +	 * The USERPTR BO is intentionally omitted from the bo_list so
> +	 * the kernel does not attempt to revalidate it.  If the PTEs
> +	 * were invalidated, the SDMA engine will fault and the kernel
> +	 * fault handler will map a zeroed dummy page, so the
> +	 * destination will contain zeros instead of the original 0xAA.
> +	 */
> +	igt_info("Phase 4: submitting CS through unmapped VA range\n");
> +
> +	memset(dst_cpu_ptr, 0xCC, STRESS_SCAN_CHUNK);
> +
> +	memset(ring_context->pm4, 0, PM4_DW * sizeof(uint32_t));
> +	ring_context->pm4_dw = 0;
> +	ring_context->bo_mc = up_va;
> +	ring_context->bo_mc2 = dst_mc;
> +	ring_context->write_length = STRESS_SCAN_CHUNK;
> +	ring_context->res_cnt = 1;
> +	ring_context->resources[0] = dst_bo;
> +
> +	ip_block->funcs->copy_linear(ip_block->funcs, ring_context,
> +				     &ring_context->pm4_dw);
> +
> +	r = amdgpu_test_exec_cs_helper(dev, ip_block->type, ring_context, 1);
> +	if (ring_context->err_codes.err_code_cs_submit != 0) {
> +		igt_info("  CS rejected (r=%d)\n",
> +			 ring_context->err_codes.err_code_cs_submit);
> +		goto cleanup;
> +	}
> +
> +	/* Scan destination for original data pattern */
> +	scan = (uint8_t *)dst_cpu_ptr;
> +	non_poison = 0;
> +	original_count = 0;
> +	for (p = 0; p < STRESS_SCAN_CHUNK; p++) {
> +		if (scan[p] != 0xCC)
> +			non_poison++;
> +		if (scan[p] == 0xAA)
> +			original_count++;
> +	}
> +
> +	igt_info("  %u/%lu non-poison bytes (%u original 0xAA)\n",
> +		 non_poison, (unsigned long)STRESS_SCAN_CHUNK,
> +		 original_count);
> +
> +cleanup:
> +	for (i = 0; i < children_spawned; i++) {
> +		kill(children[i], SIGKILL);
> +		waitpid(children[i], NULL, 0);
> +	}
> +	free(children);
> +
> +	for (i = 0; i < pipes_opened; i++) {
> +		close(pipes[i][0]);
> +		close(pipes[i][1]);
> +	}
> +	free(pipes);
> +
> +	/*
> +	 * Read GPU page faults after releasing file descriptors so
> +	 * klogctl has room to work.  Brief sleep to let deferred
> +	 * printk flush any remaining fault messages.
> +	 */
> +	usleep(500000);
> +	page_faults = count_gpu_page_faults(my_pid, ts_before);
> +	igt_info("  %u GPU page faults for PID %d\n",
> +		 page_faults, (int)my_pid);
> +
> +	if (up_bo) {
> +		amdgpu_bo_va_op(up_bo, 0, STRESS_TARGET_SZ, up_va, 0,
> +				AMDGPU_VA_OP_UNMAP);
> +		amdgpu_va_range_free(up_va_h);
> +		amdgpu_bo_free(up_bo);
> +	}
> +
> +	amdgpu_bo_unmap_and_free(dst_bo, dst_va_h, dst_mc, STRESS_SCAN_CHUNK);
> +	amdgpu_cs_ctx_free(ring_context->context_handle);
> +	free(ring_context->pm4);
> +	free(ring_context);
> +
> +	/*
> +	 * Invalidation is confirmed when any of the following holds:
> +	 *
> +	 *   (a) CS was rejected outright (already handled above).
> +	 *   (b) GPU page faults were logged for this PID.
> +	 *   (c) Destination contains non-original data (zeros from the
> +	 *       dummy page), proving PTEs no longer point at the old
> +	 *       physical pages.
> +	 *
> +	 * Page fault messages may be suppressed by printk ratelimiting,
> +	 * so the data pattern check (c) is the primary detection method.
> +	 */
> +	if (page_faults > 0) {
> +		igt_info("PTE invalidation confirmed: %u page faults\n",
> +			 page_faults);
> +	} else if (non_poison > 0 && original_count == 0) {
> +		igt_info("PTE invalidation confirmed: dummy page data\n");
> +	} else {
> +		igt_assert_f(non_poison == 0 || original_count == 0,
> +			     "destination contains %u bytes of original data "
> +			     "(0xAA) after munmap with no GPU page faults\n",
> +			     original_count);
> +	}
> +}
> +
> +int igt_main()
> +{
> +	amdgpu_device_handle device;
> +	struct amdgpu_gpu_info gpu_info = {0};
> +	uint32_t major, minor;
> +	int fd = -1;
> +	int r;
> +	bool arr_cap[AMD_IP_MAX] = {0};
> +
> +	igt_fixture() {
> +		log_total_time(true, igt_test_name());
> +		fd = drm_open_driver(DRIVER_AMDGPU);
> +
> +		r = amdgpu_device_initialize(fd, &major, &minor, &device);
> +		igt_require(r == 0);
> +
> +		igt_info("Initialized amdgpu, driver version %d.%d\n",
> +			 major, minor);
> +
> +		r = amdgpu_query_gpu_info(device, &gpu_info);
> +		igt_assert_eq(r, 0);
> +
> +		r = setup_amdgpu_ip_blocks(major, minor, &gpu_info, device);
> +		igt_assert_eq(r, 0);
> +
> +		asic_rings_readness(device, 1, arr_cap);
> +	}
> +
> +	igt_describe("Submit CS with USERPTR BO in bo_list after munmap "
> +		     "and verify the kernel rejects it");
> +	igt_subtest_with_dynamic("userptr-unmap-revalidate") {
> +		igt_require(arr_cap[AMD_IP_DMA]);
> +		igt_dynamic_f("userptr-unmap-revalidate")
> +			amdgpu_userptr_unmap_revalidate(device);
> +	}
> +
> +	igt_describe("Stress test: release large USERPTR backing under "
> +		     "memory pressure and verify GPU PTEs are invalidated");
> +	igt_subtest_with_dynamic("userptr-unmap-stress") {
> +		igt_require(arr_cap[AMD_IP_DMA]);
> +		igt_dynamic_f("userptr-unmap-stress")
> +			amdgpu_userptr_unmap_stress(device);
> +	}
> +
> +	igt_fixture() {
> +		amdgpu_device_deinitialize(device);
> +		drm_close_driver(fd);
> +		log_total_time(false, igt_test_name());
> +	}
> +}
> diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build
> index 0dc689e40..801239547 100644
> --- a/tests/amdgpu/meson.build
> +++ b/tests/amdgpu/meson.build
> @@ -53,6 +53,7 @@ if libdrm_amdgpu.found()
>  			  'amd_vpe',
>  			  'amd_mem',
>  			  'amd_remote_mem',
> +                          'amd_userptr_invalidation',
>  			]
>  	if libdrm_amdgpu.version().version_compare('> 2.4.97')
>  		amdgpu_progs +=[ 'amd_syncobj', ]


^ permalink raw reply	[flat|nested] 7+ messages in thread

* ✗ Xe.CI.FULL: failure for tests/amdgpu: add USERPTR PTE invalidation regression test
  2026-05-12 18:21 [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test vitaly.prosyak
                   ` (3 preceding siblings ...)
  2026-05-13  7:02 ` [PATCH] " Christian König
@ 2026-05-13 19:15 ` Patchwork
  2026-05-14  0:41 ` ✗ i915.CI.Full: " Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2026-05-13 19:15 UTC (permalink / raw)
  To: vitaly.prosyak; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 40010 bytes --]

== Series Details ==

Series: tests/amdgpu: add USERPTR PTE invalidation regression test
URL   : https://patchwork.freedesktop.org/series/166440/
State : failure

== Summary ==

CI Bug Log - changes from XEIGT_8907_FULL -> XEIGTPW_15168_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with XEIGTPW_15168_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in XEIGTPW_15168_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 (2 -> 2)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in XEIGTPW_15168_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@xe_sriov_auto_provisioning@fair-allocation@numvfs-random:
    - shard-bmg:          [PASS][1] -> [FAIL][2] +1 other test fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-4/igt@xe_sriov_auto_provisioning@fair-allocation@numvfs-random.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@xe_sriov_auto_provisioning@fair-allocation@numvfs-random.html

  * igt@xe_vm@large-misaligned-binds-1073741824:
    - shard-lnl:          [PASS][3] -> [ABORT][4]
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-lnl-1/igt@xe_vm@large-misaligned-binds-1073741824.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@xe_vm@large-misaligned-binds-1073741824.html

  
Known issues
------------

  Here are the changes found in XEIGTPW_15168_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@intel_hwmon@hwmon-write:
    - shard-lnl:          NOTRUN -> [SKIP][5] ([Intel XE#1125] / [Intel XE#7312])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@intel_hwmon@hwmon-write.html

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-bmg:          [PASS][6] -> [INCOMPLETE][7] ([Intel XE#4912]) +1 other test incomplete
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-10/igt@kms_async_flips@async-flip-suspend-resume.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][8] ([Intel XE#2327])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-1/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#7059] / [Intel XE#7085])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-lnl:          NOTRUN -> [SKIP][10] ([Intel XE#1124]) +3 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#1124]) +5 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-8/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_bw@connected-linear-tiling-2-displays-target-2160x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#7679])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@kms_bw@connected-linear-tiling-2-displays-target-2160x1440p.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][13] ([Intel XE#2887])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#3432])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#2887]) +4 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_chamelium_audio@hdmi-audio-edid:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#2252]) +6 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_chamelium_audio@hdmi-audio-edid.html

  * igt@kms_chamelium_color@ctm-negative:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#2325] / [Intel XE#7358])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_chamelium_color@ctm-negative.html

  * igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
    - shard-lnl:          NOTRUN -> [SKIP][18] ([Intel XE#373]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-8/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#2390] / [Intel XE#6974])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-1/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][20] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +3 other tests fail
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-7/igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2.html

  * igt@kms_content_protection@lic-type-1:
    - shard-lnl:          NOTRUN -> [SKIP][21] ([Intel XE#7642]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@kms_content_protection@lic-type-1.html

  * igt@kms_cursor_crc@cursor-onscreen-32x32:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2320]) +2 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-8/igt@kms_cursor_crc@cursor-onscreen-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#2321] / [Intel XE#7355])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          [PASS][24] -> [FAIL][25] ([Intel XE#7571])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-bmg:          NOTRUN -> [FAIL][26] ([Intel XE#7809])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-lnl:          NOTRUN -> [SKIP][27] ([Intel XE#323] / [Intel XE#6035])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#4354] / [Intel XE#5882])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dsc@dsc-basic:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2244])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_dsc@dsc-basic.html

  * igt@kms_flip@2x-absolute-wf_vblank-interruptible:
    - shard-lnl:          NOTRUN -> [SKIP][30] ([Intel XE#1421]) +1 other test skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-8/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
    - shard-lnl:          [PASS][31] -> [FAIL][32] ([Intel XE#301]) +2 other tests fail
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#7178] / [Intel XE#7351]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-8/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][34] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][35] ([Intel XE#1397] / [Intel XE#7385])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-lnl:          NOTRUN -> [SKIP][36] ([Intel XE#7178] / [Intel XE#7351]) +1 other test skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][37] ([Intel XE#7061] / [Intel XE#7356])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-indfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][38] ([Intel XE#6312]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@drrshdr-slowdraw:
    - shard-bmg:          NOTRUN -> [SKIP][39] ([Intel XE#2311]) +30 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_frontbuffer_tracking@drrshdr-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#4141]) +4 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][41] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-shrfb-scaledprimary:
    - shard-lnl:          NOTRUN -> [SKIP][42] ([Intel XE#6312] / [Intel XE#651]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-shrfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#2313]) +31 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-shrfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][44] ([Intel XE#7905]) +9 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@hdr-abgr161616f-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][45] ([Intel XE#7061])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@kms_frontbuffer_tracking@hdr-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][46] ([Intel XE#656] / [Intel XE#7905]) +4 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-shrfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#7865]) +4 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-bmg:          [PASS][48] -> [SKIP][49] ([Intel XE#7308])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-2/igt@kms_hdmi_inject@inject-audio.html
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_hdr@static-toggle@pipe-a-hdmi-a-3-xrgb16161616f:
    - shard-bmg:          [PASS][50] -> [SKIP][51] ([Intel XE#7915]) +1 other test skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-5/igt@kms_hdr@static-toggle@pipe-a-hdmi-a-3-xrgb16161616f.html
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-1/igt@kms_hdr@static-toggle@pipe-a-hdmi-a-3-xrgb16161616f.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#6901])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-7/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#7086] / [Intel XE#7390])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][54] ([Intel XE#6911] / [Intel XE#7466])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#4090] / [Intel XE#7443])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-2/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

  * igt@kms_panel_fitting@legacy:
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#2486])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier:
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#7283]) +2 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-10/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier:
    - shard-lnl:          NOTRUN -> [SKIP][58] ([Intel XE#7283])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-2/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#2393])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-7/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#2763] / [Intel XE#6886]) +3 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#7339])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][62] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][63] ([Intel XE#4608])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][64] ([Intel XE#4608] / [Intel XE#7304])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-b-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#1489]) +4 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr@pr-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-1/igt@kms_psr@pr-suspend.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-270:
    - shard-bmg:          NOTRUN -> [SKIP][67] ([Intel XE#3904] / [Intel XE#7342])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-4/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-lnl:          NOTRUN -> [SKIP][68] ([Intel XE#1435])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_sharpness_filter@filter-formats:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#6503])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-1/igt@kms_sharpness_filter@filter-formats.html

  * igt@xe_eudebug_online@preempt-breakpoint:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#7636]) +5 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-2/igt@xe_eudebug_online@preempt-breakpoint.html

  * igt@xe_eudebug_online@resume-one:
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#7636]) +6 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@xe_eudebug_online@resume-one.html

  * igt@xe_evict@evict-beng-threads-large-multi-vm:
    - shard-lnl:          NOTRUN -> [SKIP][72] ([Intel XE#6540] / [Intel XE#688]) +2 other tests skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@xe_evict@evict-beng-threads-large-multi-vm.html

  * igt@xe_evict@evict-small-multi-queue-cm:
    - shard-bmg:          NOTRUN -> [SKIP][73] ([Intel XE#7140]) +1 other test skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-7/igt@xe_evict@evict-small-multi-queue-cm.html

  * igt@xe_exec_balancer@many-cm-virtual-userptr-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][74] ([Intel XE#7482]) +3 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@xe_exec_balancer@many-cm-virtual-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][75] ([Intel XE#1392])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-no-exec-null:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#2322] / [Intel XE#7372]) +2 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@xe_exec_basic@multigpu-no-exec-null.html

  * igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-imm:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#7136]) +5 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-1/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-imm.html

  * igt@xe_exec_fault_mode@twice-multi-queue-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#7136]) +2 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@xe_exec_fault_mode@twice-multi-queue-userptr-invalidate-race.html

  * igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-basic-smem:
    - shard-lnl:          NOTRUN -> [SKIP][79] ([Intel XE#6874]) +5 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-8/igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-basic-smem.html

  * igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-dyn-priority-smem:
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#6874]) +15 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-4/igt@xe_exec_multi_queue@two-queues-preempt-mode-fault-dyn-priority-smem.html

  * igt@xe_exec_reset@cm-multi-queue-cat-error:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#7866]) +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-6/igt@xe_exec_reset@cm-multi-queue-cat-error.html

  * igt@xe_exec_reset@long-spin-reuse-many-preempt-gt0-threads:
    - shard-bmg:          [PASS][82] -> [FAIL][83] ([Intel XE#7850])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-7/igt@xe_exec_reset@long-spin-reuse-many-preempt-gt0-threads.html
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-9/igt@xe_exec_reset@long-spin-reuse-many-preempt-gt0-threads.html

  * igt@xe_exec_reset@multi-queue-cancel-on-secondary:
    - shard-lnl:          NOTRUN -> [SKIP][84] ([Intel XE#7866]) +1 other test skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-8/igt@xe_exec_reset@multi-queue-cancel-on-secondary.html

  * igt@xe_exec_threads@threads-multi-queue-fd-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][85] ([Intel XE#7138])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@xe_exec_threads@threads-multi-queue-fd-userptr-invalidate-race.html

  * igt@xe_exec_threads@threads-multi-queue-mixed-fd-userptr:
    - shard-bmg:          NOTRUN -> [SKIP][86] ([Intel XE#7138]) +2 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-2/igt@xe_exec_threads@threads-multi-queue-mixed-fd-userptr.html

  * igt@xe_mmap@small-bar:
    - shard-lnl:          NOTRUN -> [SKIP][87] ([Intel XE#512] / [Intel XE#7323] / [Intel XE#7384])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-4/igt@xe_mmap@small-bar.html

  * igt@xe_multigpu_svm@mgpu-coherency-basic:
    - shard-bmg:          NOTRUN -> [SKIP][88] ([Intel XE#6964]) +2 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@xe_multigpu_svm@mgpu-coherency-basic.html

  * igt@xe_multigpu_svm@mgpu-migration-basic:
    - shard-lnl:          NOTRUN -> [SKIP][89] ([Intel XE#6964]) +1 other test skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@xe_multigpu_svm@mgpu-migration-basic.html

  * igt@xe_page_reclaim@binds-large-split:
    - shard-lnl:          NOTRUN -> [SKIP][90] ([Intel XE#7793])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@xe_page_reclaim@binds-large-split.html

  * igt@xe_page_reclaim@binds-null-vma:
    - shard-bmg:          NOTRUN -> [SKIP][91] ([Intel XE#7793]) +2 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-10/igt@xe_page_reclaim@binds-null-vma.html

  * igt@xe_pat@pat-index-xelpg:
    - shard-bmg:          NOTRUN -> [SKIP][92] ([Intel XE#2236] / [Intel XE#7590])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-10/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_pm@d3cold-i2c:
    - shard-lnl:          NOTRUN -> [SKIP][93] ([Intel XE#5694] / [Intel XE#7370])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@xe_pm@d3cold-i2c.html

  * igt@xe_pxp@pxp-termination-key-update-post-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][94] ([Intel XE#4733] / [Intel XE#7417])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-1/igt@xe_pxp@pxp-termination-key-update-post-suspend.html

  * igt@xe_sriov_admin@bulk-preempt-timeout-vfs-disabled:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#7174])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-3/igt@xe_sriov_admin@bulk-preempt-timeout-vfs-disabled.html

  * igt@xe_survivability@i2c-functionality:
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#6529] / [Intel XE#7331] / [Intel XE#7388])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@xe_survivability@i2c-functionality.html

  
#### Possible fixes ####

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][97] ([Intel XE#7084]) -> [PASS][98] +1 other test pass
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_flip@flip-vs-expired-vblank@b-edp1:
    - shard-lnl:          [FAIL][99] ([Intel XE#301]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-linear-to-x:
    - shard-bmg:          [ABORT][101] ([Intel XE#7814]) -> [PASS][102] +1 other test pass
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-7/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-linear-to-x.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-linear-to-x.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-to-x:
    - shard-bmg:          [DMESG-WARN][103] ([Intel XE#7814]) -> [PASS][104] +32 other tests pass
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-7/igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-to-x.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-to-x.html

  * igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc:
    - shard-bmg:          [INCOMPLETE][105] ([Intel XE#6819]) -> [PASS][106]
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-2/igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-4/igt@kms_frontbuffer_tracking@fbchdr-rgb565-draw-mmap-wc.html

  * igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f:
    - shard-bmg:          [SKIP][107] ([Intel XE#7915]) -> [PASS][108] +1 other test pass
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-3/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-2/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f.html

  * igt@kms_vrr@max-min:
    - shard-lnl:          [FAIL][109] ([Intel XE#4227]) -> [PASS][110] +1 other test pass
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-lnl-4/igt@kms_vrr@max-min.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-5/igt@kms_vrr@max-min.html

  * igt@xe_exec_reset@long-spin-comp-reuse-many-preempt-threads:
    - shard-bmg:          [FAIL][111] -> [PASS][112]
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-9/igt@xe_exec_reset@long-spin-comp-reuse-many-preempt-threads.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-8/igt@xe_exec_reset@long-spin-comp-reuse-many-preempt-threads.html

  * igt@xe_oa@non-zero-reason-all:
    - shard-lnl:          [FAIL][113] ([Intel XE#7334]) -> [PASS][114] +1 other test pass
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-lnl-8/igt@xe_oa@non-zero-reason-all.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-1/igt@xe_oa@non-zero-reason-all.html

  * igt@xe_sriov_flr@flr-vfs-parallel:
    - shard-bmg:          [FAIL][115] ([Intel XE#6569]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-5/igt@xe_sriov_flr@flr-vfs-parallel.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-3/igt@xe_sriov_flr@flr-vfs-parallel.html

  
#### Warnings ####

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
    - shard-lnl:          [SKIP][117] ([Intel XE#309] / [Intel XE#7343] / [Intel XE#7935]) -> [SKIP][118] ([Intel XE#309] / [Intel XE#7343])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-lnl-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-lnl-7/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [SKIP][119] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][120] ([Intel XE#1729] / [Intel XE#7424])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8907/shard-bmg-3/igt@kms_tiled_display@basic-test-pattern.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/shard-bmg-5/igt@kms_tiled_display@basic-test-pattern.html

  
  [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#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [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#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [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#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [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#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [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#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4090]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4090
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4912
  [Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
  [Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#5882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5882
  [Intel XE#6035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6035
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#6529]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6529
  [Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
  [Intel XE#6819]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6819
  [Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901
  [Intel XE#6911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6911
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7059]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7059
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
  [Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085
  [Intel XE#7086]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7086
  [Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136
  [Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138
  [Intel XE#7140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7140
  [Intel XE#7174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7174
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
  [Intel XE#7308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7308
  [Intel XE#7312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7312
  [Intel XE#7323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7323
  [Intel XE#7331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7331
  [Intel XE#7334]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7334
  [Intel XE#7339]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7339
  [Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
  [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
  [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
  [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
  [Intel XE#7384]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7384
  [Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385
  [Intel XE#7388]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7388
  [Intel XE#7390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7390
  [Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
  [Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
  [Intel XE#7443]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7443
  [Intel XE#7466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7466
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7571
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#7636]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7636
  [Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7809]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7809
  [Intel XE#7814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7814
  [Intel XE#7850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7850
  [Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
  [Intel XE#7866]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7866
  [Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
  [Intel XE#7915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7915
  [Intel XE#7935]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7935


Build changes
-------------

  * IGT: IGT_8907 -> IGTPW_15168
  * Linux: xe-5050-9cb559e83f7f3c02c8c6566d3446cd37ecc56e86 -> xe-5052-161329a551bb5ebd34524b781cd7fb3d84b994be

  IGTPW_15168: cb906051f0322f626e8ff2985aa3c8dc257781d5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8907: 6b305d78c65768c09cc7c0e902273bf409bbd218 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5050-9cb559e83f7f3c02c8c6566d3446cd37ecc56e86: 9cb559e83f7f3c02c8c6566d3446cd37ecc56e86
  xe-5052-161329a551bb5ebd34524b781cd7fb3d84b994be: 161329a551bb5ebd34524b781cd7fb3d84b994be

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15168/index.html

[-- Attachment #2: Type: text/html, Size: 44534 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* ✗ i915.CI.Full: failure for tests/amdgpu: add USERPTR PTE invalidation regression test
  2026-05-12 18:21 [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test vitaly.prosyak
                   ` (4 preceding siblings ...)
  2026-05-13 19:15 ` ✗ Xe.CI.FULL: failure for " Patchwork
@ 2026-05-14  0:41 ` Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2026-05-14  0:41 UTC (permalink / raw)
  To: vitaly.prosyak; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 135803 bytes --]

== Series Details ==

Series: tests/amdgpu: add USERPTR PTE invalidation regression test
URL   : https://patchwork.freedesktop.org/series/166440/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_18479_full -> IGTPW_15168_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_15168_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_15168_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.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/index.html

Participating hosts (11 -> 10)
------------------------------

  Missing    (1): pig-kbl-iris 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_15168_full:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@gem_contexts:
    - shard-mtlp:         [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-3/igt@i915_selftest@live@gem_contexts.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-6/igt@i915_selftest@live@gem_contexts.html

  * igt@kms_feature_discovery@display-2x:
    - shard-rkl:          NOTRUN -> [SKIP][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_feature_discovery@display-2x.html
    - shard-dg1:          NOTRUN -> [SKIP][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-18/igt@kms_feature_discovery@display-2x.html
    - shard-mtlp:         NOTRUN -> [SKIP][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-8/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@display-3x:
    - shard-dg2:          NOTRUN -> [SKIP][6] +1 other test skip
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@kms_feature_discovery@display-3x.html

  * igt@kms_frontbuffer_tracking:
    - shard-snb:          NOTRUN -> [INCOMPLETE][7]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-snb4/igt@kms_frontbuffer_tracking.html

  * igt@sriov_basic@enable-vfs-autoprobe-on:
    - shard-tglu:         NOTRUN -> [SKIP][8] +10 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-10/igt@sriov_basic@enable-vfs-autoprobe-on.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each@numvfs-2:
    - shard-tglu-1:       NOTRUN -> [SKIP][9] +9 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@sriov_basic@enable-vfs-bind-unbind-each@numvfs-2.html

  
New tests
---------

  New tests have been introduced between CI_DRM_18479_full and IGTPW_15168_full:

### New IGT tests (10) ###

  * igt@i915_module_load@cursora-vs-flipb-toggle:
    - Statuses :
    - Exec time: [None] s

  * igt@i915_module_load@in-flight-suspend:
    - Statuses :
    - Exec time: [None] s

  * igt@i915_module_load@nohang:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_frontbuffer_tracking@2x-flip-vs-panning:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_frontbuffer_tracking@2x-plain-flip-fb-recreate:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_frontbuffer_tracking@basic-wc-cpu-noreloc:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_frontbuffer_tracking@create-size-update:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_frontbuffer_tracking@gem-pool:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_frontbuffer_tracking@tiling-none:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_frontbuffer_tracking@wait-all-for-submit-delayed-submit:
    - Statuses :
    - Exec time: [None] s

  

Known issues
------------

  Here are the changes found in IGTPW_15168_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-rkl:          NOTRUN -> [SKIP][10] ([i915#8411])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@drm_buddy@drm_buddy:
    - shard-tglu:         NOTRUN -> [SKIP][11] ([i915#15678])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-3/igt@drm_buddy@drm_buddy.html

  * igt@gem_ccs@block-multicopy-compressed:
    - shard-rkl:          NOTRUN -> [SKIP][12] ([i915#9323])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@gem_ccs@block-multicopy-compressed.html

  * igt@gem_ccs@ctrl-surf-copy:
    - shard-tglu:         NOTRUN -> [SKIP][13] ([i915#3555] / [i915#9323])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-3/igt@gem_ccs@ctrl-surf-copy.html

  * igt@gem_ccs@large-ctrl-surf-copy:
    - shard-rkl:          NOTRUN -> [SKIP][14] ([i915#13008])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@gem_ccs@large-ctrl-surf-copy.html

  * igt@gem_close_race@multigpu-basic-process:
    - shard-dg2:          NOTRUN -> [SKIP][15] ([i915#7697]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@gem_close_race@multigpu-basic-process.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-tglu:         NOTRUN -> [SKIP][16] ([i915#6335])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_ctx_persistence@engines-hang:
    - shard-snb:          NOTRUN -> [SKIP][17] ([i915#1099])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-snb7/igt@gem_ctx_persistence@engines-hang.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-tglu-1:       NOTRUN -> [SKIP][18] ([i915#280])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-dg2:          NOTRUN -> [SKIP][19] ([i915#280])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-7/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_eio@in-flight-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][20] ([i915#13390])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk9/igt@gem_eio@in-flight-suspend.html

  * igt@gem_eio@reset-stress@blt:
    - shard-mtlp:         NOTRUN -> [SKIP][21] ([i915#15314])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-1/igt@gem_eio@reset-stress@blt.html

  * igt@gem_eio@reset-stress@bsd:
    - shard-snb:          NOTRUN -> [FAIL][22] ([i915#8898]) +1 other test fail
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-snb1/igt@gem_eio@reset-stress@bsd.html

  * igt@gem_exec_balancer@invalid-bonds:
    - shard-dg2:          NOTRUN -> [SKIP][23] ([i915#4036])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@gem_exec_balancer@invalid-bonds.html
    - shard-dg1:          NOTRUN -> [SKIP][24] ([i915#4036])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-19/igt@gem_exec_balancer@invalid-bonds.html
    - shard-mtlp:         NOTRUN -> [SKIP][25] ([i915#4036])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-3/igt@gem_exec_balancer@invalid-bonds.html

  * igt@gem_exec_balancer@noheartbeat:
    - shard-dg2:          NOTRUN -> [SKIP][26] ([i915#8555]) +1 other test skip
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@gem_exec_balancer@noheartbeat.html
    - shard-dg1:          NOTRUN -> [SKIP][27] ([i915#8555]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-16/igt@gem_exec_balancer@noheartbeat.html
    - shard-mtlp:         NOTRUN -> [SKIP][28] ([i915#8555]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-6/igt@gem_exec_balancer@noheartbeat.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-tglu-1:       NOTRUN -> [SKIP][29] ([i915#4525])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_balancer@parallel-keep-submit-fence:
    - shard-rkl:          NOTRUN -> [SKIP][30] ([i915#4525])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@gem_exec_balancer@parallel-keep-submit-fence.html

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-tglu:         NOTRUN -> [SKIP][31] ([i915#4525]) +2 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@gem_exec_balancer@parallel-ordering.html

  * igt@gem_exec_big@single:
    - shard-mtlp:         [PASS][32] -> [FAIL][33] ([i915#15871])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-5/igt@gem_exec_big@single.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-6/igt@gem_exec_big@single.html

  * igt@gem_exec_capture@capture-invisible@lmem0:
    - shard-dg2:          NOTRUN -> [SKIP][34] ([i915#6334]) +2 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@gem_exec_capture@capture-invisible@lmem0.html

  * igt@gem_exec_fence@submit3:
    - shard-dg2:          NOTRUN -> [SKIP][35] ([i915#4812]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-7/igt@gem_exec_fence@submit3.html

  * igt@gem_exec_flush@basic-wb-ro-default:
    - shard-dg2:          NOTRUN -> [SKIP][36] ([i915#3539] / [i915#4852])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@gem_exec_flush@basic-wb-ro-default.html

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-dg2:          NOTRUN -> [SKIP][37] ([i915#5107])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_exec_reloc@basic-cpu-active:
    - shard-mtlp:         NOTRUN -> [SKIP][38] ([i915#3281]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@gem_exec_reloc@basic-cpu-active.html

  * igt@gem_exec_reloc@basic-cpu-gtt-active:
    - shard-rkl:          NOTRUN -> [SKIP][39] ([i915#14544] / [i915#3281]) +1 other test skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@gem_exec_reloc@basic-cpu-gtt-active.html

  * igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
    - shard-dg2:          NOTRUN -> [SKIP][40] ([i915#3281]) +7 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-10/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html

  * igt@gem_exec_reloc@basic-write-read:
    - shard-rkl:          NOTRUN -> [SKIP][41] ([i915#3281]) +6 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@gem_exec_reloc@basic-write-read.html
    - shard-dg1:          NOTRUN -> [SKIP][42] ([i915#3281]) +3 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-18/igt@gem_exec_reloc@basic-write-read.html

  * igt@gem_exec_schedule@reorder-wide:
    - shard-dg2:          NOTRUN -> [SKIP][43] ([i915#4537] / [i915#4812]) +1 other test skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@gem_exec_schedule@reorder-wide.html

  * igt@gem_exec_suspend@basic-s0:
    - shard-rkl:          [PASS][44] -> [INCOMPLETE][45] ([i915#13356]) +1 other test incomplete
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-3/igt@gem_exec_suspend@basic-s0.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_fence_thrash@bo-copy:
    - shard-dg2:          NOTRUN -> [SKIP][46] ([i915#4860]) +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@gem_fence_thrash@bo-copy.html

  * igt@gem_fenced_exec_thrash@no-spare-fences:
    - shard-dg1:          NOTRUN -> [SKIP][47] ([i915#4860]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-18/igt@gem_fenced_exec_thrash@no-spare-fences.html

  * igt@gem_fenced_exec_thrash@too-many-fences:
    - shard-mtlp:         NOTRUN -> [SKIP][48] ([i915#4860]) +1 other test skip
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@gem_fenced_exec_thrash@too-many-fences.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][49] ([i915#12193])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][50] ([i915#4613])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-2/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][51] ([i915#4565])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0.html

  * igt@gem_lmem_swapping@massive-random:
    - shard-glk:          NOTRUN -> [SKIP][52] ([i915#4613]) +4 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk3/igt@gem_lmem_swapping@massive-random.html
    - shard-tglu-1:       NOTRUN -> [SKIP][53] ([i915#4613])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@gem_lmem_swapping@massive-random.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-rkl:          NOTRUN -> [SKIP][54] ([i915#4613]) +1 other test skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-7/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_lmem_swapping@parallel-random-verify:
    - shard-tglu:         NOTRUN -> [SKIP][55] ([i915#4613]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-10/igt@gem_lmem_swapping@parallel-random-verify.html

  * igt@gem_media_vme:
    - shard-tglu:         NOTRUN -> [SKIP][56] ([i915#284])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-3/igt@gem_media_vme.html

  * igt@gem_mmap@bad-offset:
    - shard-dg2:          NOTRUN -> [SKIP][57] ([i915#4083]) +1 other test skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-1/igt@gem_mmap@bad-offset.html

  * igt@gem_mmap_gtt@basic-short:
    - shard-mtlp:         NOTRUN -> [SKIP][58] ([i915#4077]) +1 other test skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@gem_mmap_gtt@basic-short.html

  * igt@gem_mmap_gtt@zero-extend:
    - shard-dg2:          NOTRUN -> [SKIP][59] ([i915#4077]) +9 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-1/igt@gem_mmap_gtt@zero-extend.html

  * igt@gem_partial_pwrite_pread@reads-display:
    - shard-mtlp:         NOTRUN -> [SKIP][60] ([i915#3282]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-6/igt@gem_partial_pwrite_pread@reads-display.html

  * igt@gem_pwrite@basic-random:
    - shard-rkl:          NOTRUN -> [SKIP][61] ([i915#3282]) +3 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@gem_pwrite@basic-random.html

  * igt@gem_pxp@display-protected-crc:
    - shard-dg2:          NOTRUN -> [SKIP][62] ([i915#4270]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@gem_pxp@display-protected-crc.html

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-rkl:          NOTRUN -> [SKIP][63] ([i915#13717]) +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@gem_pxp@hw-rejects-pxp-buffer.html
    - shard-tglu:         NOTRUN -> [SKIP][64] ([i915#13398]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-3/igt@gem_pxp@hw-rejects-pxp-buffer.html
    - shard-mtlp:         NOTRUN -> [SKIP][65] ([i915#13398]) +1 other test skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@gem_pxp@hw-rejects-pxp-buffer.html

  * igt@gem_readwrite@read-write:
    - shard-dg2:          NOTRUN -> [SKIP][66] ([i915#3282]) +2 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-1/igt@gem_readwrite@read-write.html
    - shard-dg1:          NOTRUN -> [SKIP][67] ([i915#3282]) +1 other test skip
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-16/igt@gem_readwrite@read-write.html

  * igt@gem_render_copy@mixed-tiled-to-yf-tiled-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][68] ([i915#8428])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@gem_render_copy@mixed-tiled-to-yf-tiled-ccs.html

  * igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs:
    - shard-glk:          NOTRUN -> [SKIP][69] +435 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk2/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html
    - shard-dg2:          NOTRUN -> [SKIP][70] ([i915#5190] / [i915#8428]) +5 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][71] ([i915#4079])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@gem_set_tiling_vs_pwrite.html

  * igt@gem_softpin@evict-snoop:
    - shard-dg2:          NOTRUN -> [SKIP][72] ([i915#4885])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@gem_softpin@evict-snoop.html

  * igt@gem_userptr_blits@coherency-unsync:
    - shard-tglu:         NOTRUN -> [SKIP][73] ([i915#3297])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@gem_userptr_blits@coherency-unsync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-dg1:          NOTRUN -> [SKIP][74] ([i915#3297])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-dg2:          NOTRUN -> [SKIP][75] ([i915#3297] / [i915#4880]) +2 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
    - shard-dg1:          NOTRUN -> [SKIP][76] ([i915#3297] / [i915#4880])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-19/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
    - shard-mtlp:         NOTRUN -> [SKIP][77] ([i915#3297])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-rkl:          NOTRUN -> [SKIP][78] ([i915#14544] / [i915#3297])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@gem_userptr_blits@unsync-unmap.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-tglu-1:       NOTRUN -> [SKIP][79] ([i915#3297])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@gem_workarounds@suspend-resume:
    - shard-glk:          [PASS][80] -> [INCOMPLETE][81] ([i915#13356] / [i915#14586])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-glk1/igt@gem_workarounds@suspend-resume.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk8/igt@gem_workarounds@suspend-resume.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][82] ([i915#13356])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@gem_workarounds@suspend-resume-context.html
    - shard-glk11:        NOTRUN -> [INCOMPLETE][83] ([i915#13356])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk11/igt@gem_workarounds@suspend-resume-context.html

  * igt@gen7_exec_parse@batch-without-end:
    - shard-dg2:          NOTRUN -> [SKIP][84] +8 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-7/igt@gen7_exec_parse@batch-without-end.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-tglu-1:       NOTRUN -> [SKIP][85] ([i915#2527] / [i915#2856])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@gen9_exec_parse@allowed-all.html

  * igt@gen9_exec_parse@basic-rejected-ctx-param:
    - shard-tglu:         NOTRUN -> [SKIP][86] ([i915#2527] / [i915#2856]) +3 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-9/igt@gen9_exec_parse@basic-rejected-ctx-param.html
    - shard-mtlp:         NOTRUN -> [SKIP][87] ([i915#2856])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-2/igt@gen9_exec_parse@basic-rejected-ctx-param.html

  * igt@gen9_exec_parse@bb-large:
    - shard-dg1:          NOTRUN -> [SKIP][88] ([i915#2527]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-12/igt@gen9_exec_parse@bb-large.html

  * igt@gen9_exec_parse@bb-start-far:
    - shard-rkl:          NOTRUN -> [SKIP][89] ([i915#2527]) +3 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@gen9_exec_parse@bb-start-far.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-dg2:          NOTRUN -> [SKIP][90] ([i915#2856]) +4 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_drm_fdinfo@all-busy-idle-check-all:
    - shard-dg2:          NOTRUN -> [SKIP][91] ([i915#14123])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@i915_drm_fdinfo@all-busy-idle-check-all.html
    - shard-dg1:          NOTRUN -> [SKIP][92] ([i915#14123])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-12/igt@i915_drm_fdinfo@all-busy-idle-check-all.html
    - shard-mtlp:         NOTRUN -> [SKIP][93] ([i915#14123])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@i915_drm_fdinfo@all-busy-idle-check-all.html

  * igt@i915_drm_fdinfo@busy@rcs0:
    - shard-dg1:          NOTRUN -> [SKIP][94] ([i915#14073]) +5 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-19/igt@i915_drm_fdinfo@busy@rcs0.html

  * igt@i915_module_load@fault-injection@uc_fw_rsa_data_create:
    - shard-mtlp:         [PASS][95] -> [INCOMPLETE][96] ([i915#15895])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-7/igt@i915_module_load@fault-injection@uc_fw_rsa_data_create.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-6/igt@i915_module_load@fault-injection@uc_fw_rsa_data_create.html

  * igt@i915_pm_freq_api@freq-basic-api:
    - shard-rkl:          NOTRUN -> [SKIP][97] ([i915#8399])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@i915_pm_freq_api@freq-basic-api.html

  * igt@i915_pm_freq_mult@media-freq@gt0:
    - shard-rkl:          NOTRUN -> [SKIP][98] ([i915#6590]) +1 other test skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@i915_pm_freq_mult@media-freq@gt0.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-tglu:         NOTRUN -> [SKIP][99] ([i915#14498])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-9/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@i915_pm_rpm@gem-evict-pwrite:
    - shard-dg1:          NOTRUN -> [SKIP][100] ([i915#4077]) +1 other test skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-16/igt@i915_pm_rpm@gem-evict-pwrite.html

  * igt@i915_pm_rpm@system-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][101] ([i915#13356])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk1/igt@i915_pm_rpm@system-suspend.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-glk:          NOTRUN -> [INCOMPLETE][102] ([i915#13356] / [i915#15172])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk2/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@i915_pm_sseu@full-enable:
    - shard-dg2:          NOTRUN -> [SKIP][103] ([i915#4387])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@i915_pm_sseu@full-enable.html

  * igt@i915_selftest@live:
    - shard-mtlp:         [PASS][104] -> [DMESG-FAIL][105] ([i915#15560])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-3/igt@i915_selftest@live.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-6/igt@i915_selftest@live.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-rkl:          [PASS][106] -> [ABORT][107] ([i915#15131])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-2/igt@i915_suspend@basic-s3-without-i915.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-1/igt@i915_suspend@basic-s3-without-i915.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-glk:          NOTRUN -> [INCOMPLETE][108] ([i915#4817])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk8/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@i915_suspend@sysfs-reader:
    - shard-glk11:        NOTRUN -> [INCOMPLETE][109] ([i915#4817])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk11/igt@i915_suspend@sysfs-reader.html

  * igt@intel_hwmon@hwmon-read:
    - shard-rkl:          NOTRUN -> [SKIP][110] ([i915#7707])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@intel_hwmon@hwmon-read.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-2:
    - shard-glk:          [PASS][111] -> [FAIL][112] ([i915#14888]) +1 other test fail
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-glk1/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-2.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk3/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-2.html

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-glk:          NOTRUN -> [INCOMPLETE][113] ([i915#12761]) +1 other test incomplete
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk5/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][114] ([i915#5286]) +5 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-1/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][115] ([i915#4538] / [i915#5286])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-12/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-tglu:         NOTRUN -> [SKIP][116] ([i915#5286]) +3 other tests skip
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_big_fb@4-tiled-addfb.html

  * igt@kms_big_fb@4-tiled-addfb-size-overflow:
    - shard-dg1:          NOTRUN -> [SKIP][117] ([i915#5286])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@kms_big_fb@4-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-tglu-1:       NOTRUN -> [SKIP][118] ([i915#5286]) +2 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
    - shard-mtlp:         [PASS][119] -> [FAIL][120] ([i915#15733] / [i915#5138])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-rkl:          NOTRUN -> [SKIP][121] ([i915#14544] / [i915#5286])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][122] ([i915#3638]) +4 other tests skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_big_fb@linear-64bpp-rotate-90.html
    - shard-dg1:          NOTRUN -> [SKIP][123] ([i915#3638])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@kms_big_fb@linear-64bpp-rotate-90.html
    - shard-mtlp:         NOTRUN -> [SKIP][124] +2 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][125] ([i915#4538] / [i915#5190]) +8 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html
    - shard-dg1:          NOTRUN -> [SKIP][126] ([i915#4538])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-13/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-tglu-1:       NOTRUN -> [SKIP][127] +46 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2:
    - shard-glk11:        NOTRUN -> [SKIP][128] +140 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk11/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][129] ([i915#6095]) +24 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-8/igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-c-edp-1.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-glk10:        NOTRUN -> [SKIP][130] +82 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk10/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][131] ([i915#12313] / [i915#14544])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][132] ([i915#14544] / [i915#6095]) +3 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][133] ([i915#12313]) +1 other test skip
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
    - shard-tglu-1:       NOTRUN -> [SKIP][134] ([i915#12313])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][135] ([i915#6095]) +196 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-19/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][136] ([i915#6095]) +39 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-5/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][137] ([i915#6095]) +39 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][138] ([i915#14098] / [i915#14544] / [i915#6095]) +2 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][139] ([i915#6095]) +79 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-b-dp-3:
    - shard-dg2:          NOTRUN -> [SKIP][140] ([i915#6095]) +7 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-10/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-b-dp-3.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1:
    - shard-glk:          [PASS][141] -> [INCOMPLETE][142] ([i915#15582])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-glk5/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk5/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][143] ([i915#10307] / [i915#6095]) +145 other tests skip
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][144] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][145] ([i915#14098] / [i915#6095]) +51 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-7/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_chamelium_edid@dp-edid-resolution-list:
    - shard-dg1:          NOTRUN -> [SKIP][146] ([i915#11151] / [i915#7828]) +2 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@kms_chamelium_edid@dp-edid-resolution-list.html

  * igt@kms_chamelium_edid@hdmi-edid-read:
    - shard-tglu-1:       NOTRUN -> [SKIP][147] ([i915#11151] / [i915#7828]) +3 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_chamelium_edid@hdmi-edid-read.html

  * igt@kms_chamelium_frames@dp-crc-fast:
    - shard-dg2:          NOTRUN -> [SKIP][148] ([i915#11151] / [i915#7828]) +7 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-10/igt@kms_chamelium_frames@dp-crc-fast.html

  * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
    - shard-tglu:         NOTRUN -> [SKIP][149] ([i915#11151] / [i915#7828]) +5 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-10/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html

  * igt@kms_chamelium_frames@hdmi-frame-dump:
    - shard-rkl:          NOTRUN -> [SKIP][150] ([i915#11151] / [i915#7828]) +10 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_chamelium_frames@hdmi-frame-dump.html

  * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][151] ([i915#11151] / [i915#7828]) +2 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html

  * igt@kms_color@gamma:
    - shard-dg1:          [PASS][152] -> [DMESG-WARN][153] ([i915#4423]) +1 other test dmesg-warn
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg1-18/igt@kms_color@gamma.html
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_color@gamma.html

  * igt@kms_color_pipeline@plane-lut1d:
    - shard-snb:          NOTRUN -> [SKIP][154] +121 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-snb5/igt@kms_color_pipeline@plane-lut1d.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-tglu:         NOTRUN -> [SKIP][155] ([i915#15330])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-dg2:          NOTRUN -> [SKIP][156] ([i915#15330] / [i915#3299]) +1 other test skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-10/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@dp-mst-type-1-suspend-resume:
    - shard-rkl:          NOTRUN -> [SKIP][157] ([i915#15330])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html

  * igt@kms_content_protection@legacy-hdcp14:
    - shard-tglu-1:       NOTRUN -> [SKIP][158] ([i915#15865]) +1 other test skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_content_protection@legacy-hdcp14.html

  * igt@kms_content_protection@lic-type-0:
    - shard-tglu:         NOTRUN -> [SKIP][159] ([i915#15865]) +2 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-9/igt@kms_content_protection@lic-type-0.html
    - shard-mtlp:         NOTRUN -> [SKIP][160] ([i915#15865])
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-3/igt@kms_content_protection@lic-type-0.html
    - shard-dg2:          NOTRUN -> [SKIP][161] ([i915#15865])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_content_protection@lic-type-0.html
    - shard-dg1:          NOTRUN -> [SKIP][162] ([i915#15865])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@uevent-hdcp14:
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#15865]) +2 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_content_protection@uevent-hdcp14.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-rkl:          NOTRUN -> [SKIP][164] ([i915#13049]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-dg2:          NOTRUN -> [SKIP][165] ([i915#13049])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-tglu:         [PASS][166] -> [FAIL][167] ([i915#13566]) +5 other tests fail
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-tglu-7/igt@kms_cursor_crc@cursor-onscreen-256x85.html
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-10/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_crc@cursor-onscreen-32x32:
    - shard-tglu-1:       NOTRUN -> [SKIP][168] ([i915#3555]) +1 other test skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-32x32.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-tglu-1:       NOTRUN -> [SKIP][169] ([i915#13049])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-256x85:
    - shard-mtlp:         NOTRUN -> [SKIP][170] ([i915#8814])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@kms_cursor_crc@cursor-random-256x85.html

  * igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [FAIL][171] ([i915#13566]) +4 other tests fail
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1.html
    - shard-tglu:         NOTRUN -> [FAIL][172] ([i915#13566]) +1 other test fail
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-tglu:         NOTRUN -> [SKIP][173] ([i915#13049]) +2 other tests skip
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-mtlp:         NOTRUN -> [SKIP][174] ([i915#9809]) +1 other test skip
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-rkl:          NOTRUN -> [SKIP][175] ([i915#4103])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
    - shard-tglu-1:       NOTRUN -> [SKIP][176] ([i915#4103])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-tglu:         NOTRUN -> [SKIP][177] ([i915#4103]) +1 other test skip
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions:
    - shard-dg2:          NOTRUN -> [SKIP][178] ([i915#13046] / [i915#5354]) +1 other test skip
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-rkl:          NOTRUN -> [SKIP][179] +74 other tests skip
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-tglu-1:       NOTRUN -> [SKIP][180] ([i915#9067])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-rkl:          NOTRUN -> [SKIP][181] ([i915#9723])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-tglu:         NOTRUN -> [SKIP][182] ([i915#9723])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-tglu:         NOTRUN -> [SKIP][183] ([i915#13691])
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dp_aux_dev@basic:
    - shard-dg2:          NOTRUN -> [SKIP][184] ([i915#1257])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_dp_aux_dev@basic.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-dg2:          NOTRUN -> [SKIP][185] ([i915#13749])
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-dg2:          [PASS][186] -> [SKIP][187] ([i915#13707])
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-10/igt@kms_dp_linktrain_fallback@dp-fallback.html
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@kms_dp_linktrain_fallback@dp-fallback.html
    - shard-rkl:          NOTRUN -> [SKIP][188] ([i915#13707])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dsc@dsc-basic:
    - shard-rkl:          NOTRUN -> [SKIP][189] ([i915#3555] / [i915#3840])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_dsc@dsc-basic.html
    - shard-tglu-1:       NOTRUN -> [SKIP][190] ([i915#3555] / [i915#3840])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_dsc@dsc-basic.html
    - shard-dg1:          NOTRUN -> [SKIP][191] ([i915#3555] / [i915#3840])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-18/igt@kms_dsc@dsc-basic.html

  * igt@kms_fbcon_fbt@psr:
    - shard-rkl:          NOTRUN -> [SKIP][192] ([i915#3955])
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_fbcon_fbt@psr.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-tglu-1:       NOTRUN -> [SKIP][193] ([i915#3469])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-tglu:         NOTRUN -> [SKIP][194] ([i915#9337])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-9/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_feature_discovery@psr1:
    - shard-rkl:          NOTRUN -> [SKIP][195] ([i915#658])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-absolute-wf_vblank:
    - shard-rkl:          NOTRUN -> [SKIP][196] ([i915#14544] / [i915#9934])
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_flip@2x-absolute-wf_vblank.html

  * igt@kms_flip@2x-blocking-wf_vblank:
    - shard-rkl:          NOTRUN -> [SKIP][197] ([i915#9934]) +7 other tests skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_flip@2x-blocking-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-panning:
    - shard-dg2:          NOTRUN -> [SKIP][198] ([i915#9934])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-1/igt@kms_flip@2x-flip-vs-panning.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-glk:          NOTRUN -> [INCOMPLETE][199] ([i915#12745] / [i915#4839])
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk2/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          NOTRUN -> [INCOMPLETE][200] ([i915#12745])
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk2/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
    - shard-dg1:          NOTRUN -> [SKIP][201] ([i915#9934])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-tglu:         NOTRUN -> [SKIP][202] ([i915#3637] / [i915#9934]) +3 other tests skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-9/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-tglu-1:       NOTRUN -> [SKIP][203] ([i915#3637] / [i915#9934])
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-dg2:          [PASS][204] -> [FAIL][205] ([i915#13027])
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3:
    - shard-dg2:          NOTRUN -> [FAIL][206] ([i915#15718])
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][207] ([i915#15643])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][208] ([i915#15643])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][209] ([i915#15643] / [i915#5190]) +2 other tests skip
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
    - shard-tglu:         NOTRUN -> [SKIP][210] ([i915#15643]) +1 other test skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-10/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][211] ([i915#15643]) +3 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][212] ([i915#1825]) +6 other tests skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][213] ([i915#15991] / [i915#5354]) +23 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][214] ([i915#14544] / [i915#1825])
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][215] ([i915#10055])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-onoff:
    - shard-rkl:          NOTRUN -> [SKIP][216] ([i915#15989]) +18 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-tglu:         NOTRUN -> [SKIP][217] ([i915#15989]) +14 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-10/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-rkl:          [PASS][218] -> [SKIP][219] ([i915#15989]) +9 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt.html
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt.html
    - shard-tglu-1:       NOTRUN -> [SKIP][220] ([i915#15989]) +7 other tests skip
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-blt:
    - shard-dg2:          [PASS][221] -> [SKIP][222] ([i915#15989]) +3 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-10/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-blt.html
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-blt.html
    - shard-dg1:          NOTRUN -> [SKIP][223] ([i915#15989]) +7 other tests skip
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-shrfb-scaledprimary:
    - shard-glk:          [PASS][224] -> [SKIP][225] +1 other test skip
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-shrfb-scaledprimary.html
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk3/igt@kms_frontbuffer_tracking@fbchdr-shrfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-rkl:          NOTRUN -> [SKIP][226] ([i915#14544] / [i915#15102] / [i915#3023]) +1 other test skip
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-pwrite:
    - shard-dg1:          NOTRUN -> [SKIP][227] +16 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][228] ([i915#15990] / [i915#8708]) +2 other tests skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][229] ([i915#15990] / [i915#8708]) +6 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-offscreen-pri-indfb-draw-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][230] ([i915#15102]) +21 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-offscreen-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-tglu-1:       NOTRUN -> [SKIP][231] ([i915#15102]) +24 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-shrfb-plflip-blt:
    - shard-dg1:          NOTRUN -> [SKIP][232] ([i915#15102]) +11 other tests skip
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][233] ([i915#14544] / [i915#15102]) +2 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
    - shard-rkl:          NOTRUN -> [SKIP][234] ([i915#15102]) +22 other tests skip
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][235] ([i915#15990]) +1 other test skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][236] ([i915#15990]) +7 other tests skip
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][237] ([i915#15991]) +15 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-shrfb-draw-pwrite:
    - shard-rkl:          NOTRUN -> [SKIP][238] ([i915#14544]) +3 other tests skip
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][239] ([i915#5439])
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4.html
    - shard-dg1:          NOTRUN -> [SKIP][240] ([i915#5439])
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4.html
    - shard-tglu:         NOTRUN -> [SKIP][241] ([i915#5439])
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][242] ([i915#15990]) +17 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@hdr-shrfb-scaledprimary:
    - shard-dg2:          NOTRUN -> [SKIP][243] ([i915#15989]) +17 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_frontbuffer_tracking@hdr-shrfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-rkl:          NOTRUN -> [SKIP][244] ([i915#9766])
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][245] ([i915#10433] / [i915#15102])
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][246] ([i915#15102] / [i915#3023]) +16 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][247] ([i915#15991] / [i915#1825]) +4 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-tglu:         NOTRUN -> [SKIP][248] +70 other tests skip
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][249] ([i915#15989]) +12 other tests skip
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-indfb-plflip-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][250] ([i915#15991]) +5 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-8/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psrhdr-rgb565-draw-blt:
    - shard-tglu:         NOTRUN -> [SKIP][251] ([i915#15102]) +31 other tests skip
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_frontbuffer_tracking@psrhdr-rgb565-draw-blt.html

  * igt@kms_hdr@bpc-switch:
    - shard-tglu-1:       NOTRUN -> [SKIP][252] ([i915#16012] / [i915#3555] / [i915#8228])
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_hdr@bpc-switch.html

  * igt@kms_hdr@bpc-switch-suspend@pipe-a-hdmi-a-1-xrgb2101010:
    - shard-dg1:          NOTRUN -> [SKIP][253] ([i915#16012]) +5 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@kms_hdr@bpc-switch-suspend@pipe-a-hdmi-a-1-xrgb2101010.html

  * igt@kms_hdr@bpc-switch@pipe-a-hdmi-a-1-xrgb2101010:
    - shard-rkl:          NOTRUN -> [SKIP][254] ([i915#16012]) +3 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_hdr@bpc-switch@pipe-a-hdmi-a-1-xrgb2101010.html
    - shard-tglu-1:       NOTRUN -> [SKIP][255] ([i915#16012]) +1 other test skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_hdr@bpc-switch@pipe-a-hdmi-a-1-xrgb2101010.html

  * igt@kms_hdr@static-swap:
    - shard-tglu:         NOTRUN -> [SKIP][256] ([i915#16011] / [i915#3555] / [i915#8228])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-swap@pipe-a-hdmi-a-1-xrgb2101010:
    - shard-rkl:          NOTRUN -> [SKIP][257] ([i915#16011]) +3 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_hdr@static-swap@pipe-a-hdmi-a-1-xrgb2101010.html
    - shard-tglu:         NOTRUN -> [SKIP][258] ([i915#16011]) +1 other test skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@kms_hdr@static-swap@pipe-a-hdmi-a-1-xrgb2101010.html

  * igt@kms_hdr@static-toggle:
    - shard-dg2:          [PASS][259] -> [SKIP][260] ([i915#16011] / [i915#3555] / [i915#8228])
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-10/igt@kms_hdr@static-toggle.html
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@kms_hdr@static-toggle.html

  * igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f:
    - shard-dg2:          NOTRUN -> [SKIP][261] ([i915#16011]) +6 other tests skip
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f.html
    - shard-dg1:          NOTRUN -> [SKIP][262] ([i915#16011]) +5 other tests skip
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-13/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-3-xrgb16161616f.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-dg2:          NOTRUN -> [SKIP][263] ([i915#15460])
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-7/igt@kms_joiner@basic-big-joiner.html
    - shard-rkl:          NOTRUN -> [SKIP][264] ([i915#15460]) +1 other test skip
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_joiner@basic-big-joiner.html
    - shard-dg1:          NOTRUN -> [SKIP][265] ([i915#15460])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-13/igt@kms_joiner@basic-big-joiner.html
    - shard-tglu:         NOTRUN -> [SKIP][266] ([i915#15460])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@kms_joiner@basic-big-joiner.html
    - shard-mtlp:         NOTRUN -> [SKIP][267] ([i915#15460])
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][268] ([i915#13688])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@invalid-modeset-force-big-joiner:
    - shard-dg2:          NOTRUN -> [SKIP][269] ([i915#15459])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-1/igt@kms_joiner@invalid-modeset-force-big-joiner.html

  * igt@kms_panel_fitting@legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][270] ([i915#6301])
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][271] ([i915#12756] / [i915#13409] / [i915#13476])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk10/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-2:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][272] ([i915#13409] / [i915#13476])
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk10/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-2.html

  * igt@kms_pipe_stress@stress-xrgb8888-4tiled:
    - shard-tglu-1:       NOTRUN -> [SKIP][273] ([i915#14712])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html

  * igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier@pipe-a-plane-5:
    - shard-dg2:          NOTRUN -> [SKIP][274] ([i915#15608]) +1 other test skip
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier@pipe-a-plane-5.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier:
    - shard-rkl:          NOTRUN -> [SKIP][275] ([i915#15709]) +6 other tests skip
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping:
    - shard-tglu:         NOTRUN -> [SKIP][276] ([i915#15709]) +4 other tests skip
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier@pipe-b-plane-5:
    - shard-mtlp:         NOTRUN -> [SKIP][277] ([i915#15608]) +1 other test skip
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-2/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier@pipe-b-plane-5.html

  * igt@kms_plane@pixel-format-y-tiled-modifier-source-clamping:
    - shard-dg2:          NOTRUN -> [SKIP][278] ([i915#15709]) +4 other tests skip
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@kms_plane@pixel-format-y-tiled-modifier-source-clamping.html
    - shard-mtlp:         NOTRUN -> [SKIP][279] ([i915#15709]) +1 other test skip
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-5/igt@kms_plane@pixel-format-y-tiled-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping:
    - shard-tglu-1:       NOTRUN -> [SKIP][280] ([i915#15709]) +3 other tests skip
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping.html
    - shard-dg1:          NOTRUN -> [SKIP][281] ([i915#15709]) +1 other test skip
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-18/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping.html

  * igt@kms_plane_alpha_blend@alpha-basic:
    - shard-glk:          NOTRUN -> [FAIL][282] ([i915#12178])
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk3/igt@kms_plane_alpha_blend@alpha-basic.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][283] ([i915#7862]) +1 other test fail
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk3/igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1.html

  * igt@kms_plane_alpha_blend@alpha-opaque-fb:
    - shard-glk:          NOTRUN -> [FAIL][284] ([i915#10647] / [i915#12169])
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk2/igt@kms_plane_alpha_blend@alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][285] ([i915#10647]) +1 other test fail
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk2/igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb:
    - shard-glk11:        NOTRUN -> [FAIL][286] ([i915#10647] / [i915#12177])
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk11/igt@kms_plane_alpha_blend@alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1:
    - shard-glk11:        NOTRUN -> [FAIL][287] ([i915#10647]) +1 other test fail
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk11/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-tglu:         NOTRUN -> [SKIP][288] ([i915#3555]) +1 other test skip
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-5/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-tglu:         NOTRUN -> [SKIP][289] ([i915#13958]) +1 other test skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-2/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-dg2:          NOTRUN -> [SKIP][290] ([i915#13958]) +1 other test skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@kms_plane_multiple@2x-tiling-none.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-rkl:          NOTRUN -> [SKIP][291] ([i915#13958])
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_plane_multiple@2x-tiling-x.html
    - shard-dg1:          NOTRUN -> [SKIP][292] ([i915#13958])
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-17/igt@kms_plane_multiple@2x-tiling-x.html
    - shard-mtlp:         NOTRUN -> [SKIP][293] ([i915#13958])
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@kms_plane_multiple@2x-tiling-x.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][294] ([i915#14259])
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c:
    - shard-rkl:          NOTRUN -> [SKIP][295] ([i915#15329]) +3 other tests skip
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5:
    - shard-mtlp:         NOTRUN -> [SKIP][296] ([i915#15329] / [i915#6953])
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@kms_plane_scaling@planes-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a:
    - shard-mtlp:         NOTRUN -> [SKIP][297] ([i915#15329]) +3 other tests skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a.html

  * igt@kms_pm_backlight@basic-brightness:
    - shard-dg2:          NOTRUN -> [SKIP][298] ([i915#5354])
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-tglu:         NOTRUN -> [SKIP][299] ([i915#15948])
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-dg2:          [PASS][300] -> [SKIP][301] ([i915#9340])
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-4/igt@kms_pm_lpsp@kms-lpsp.html
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-dg2:          [PASS][302] -> [SKIP][303] ([i915#15073]) +2 other tests skip
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-4/igt@kms_pm_rpm@dpms-lpsp.html
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-mtlp:         NOTRUN -> [SKIP][304] ([i915#15073])
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-rkl:          [PASS][305] -> [SKIP][306] ([i915#15073])
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_pm_rpm@dpms-non-lpsp.html
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@i2c:
    - shard-glk:          NOTRUN -> [FAIL][307] ([i915#8717])
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk5/igt@kms_pm_rpm@i2c.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-dg2:          NOTRUN -> [SKIP][308] ([i915#15073])
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-tglu:         NOTRUN -> [SKIP][309] ([i915#15073]) +1 other test skip
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg1:          [PASS][310] -> [SKIP][311] ([i915#15073])
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg1-12/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-rkl:          NOTRUN -> [SKIP][312] ([i915#15073]) +1 other test skip
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-glk:          NOTRUN -> [INCOMPLETE][313] ([i915#10553])
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk6/igt@kms_pm_rpm@system-suspend-modeset.html
    - shard-rkl:          NOTRUN -> [INCOMPLETE][314] ([i915#14419])
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-tglu-1:       NOTRUN -> [SKIP][315] ([i915#6524]) +1 other test skip
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_prime@d3hot:
    - shard-rkl:          NOTRUN -> [SKIP][316] ([i915#6524])
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_prime@d3hot.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-rkl:          NOTRUN -> [SKIP][317] ([i915#11520] / [i915#14544])
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
    - shard-dg1:          NOTRUN -> [SKIP][318] ([i915#11520]) +1 other test skip
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html
    - shard-mtlp:         NOTRUN -> [SKIP][319] ([i915#12316])
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html
    - shard-glk10:        NOTRUN -> [SKIP][320] ([i915#11520]) +1 other test skip
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk10/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][321] ([i915#11520]) +6 other tests skip
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk3/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
    - shard-tglu:         NOTRUN -> [SKIP][322] ([i915#11520]) +3 other tests skip
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area:
    - shard-dg2:          NOTRUN -> [SKIP][323] ([i915#11520]) +4 other tests skip
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-1/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-glk11:        NOTRUN -> [SKIP][324] ([i915#11520]) +3 other tests skip
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk11/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
    - shard-rkl:          NOTRUN -> [SKIP][325] ([i915#11520]) +5 other tests skip
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
    - shard-tglu-1:       NOTRUN -> [SKIP][326] ([i915#11520]) +4 other tests skip
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-dg2:          NOTRUN -> [SKIP][327] ([i915#9683])
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-tglu:         NOTRUN -> [SKIP][328] ([i915#9683])
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-pr-sprite-render:
    - shard-tglu-1:       NOTRUN -> [SKIP][329] ([i915#9732]) +9 other tests skip
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_psr@fbc-pr-sprite-render.html

  * igt@kms_psr@fbc-psr-cursor-plane-move:
    - shard-dg2:          NOTRUN -> [SKIP][330] ([i915#1072] / [i915#9732]) +13 other tests skip
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_psr@fbc-psr-cursor-plane-move.html

  * igt@kms_psr@fbc-psr2-primary-mmap-gtt:
    - shard-tglu:         NOTRUN -> [SKIP][331] ([i915#9732]) +15 other tests skip
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_psr@fbc-psr2-primary-mmap-gtt.html

  * igt@kms_psr@fbc-psr2-primary-page-flip@edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][332] ([i915#9688]) +7 other tests skip
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_psr@fbc-psr2-primary-page-flip@edp-1.html

  * igt@kms_psr@fbc-psr2-sprite-render:
    - shard-rkl:          NOTRUN -> [SKIP][333] ([i915#1072] / [i915#9732]) +17 other tests skip
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_psr@fbc-psr2-sprite-render.html

  * igt@kms_psr@pr-primary-render:
    - shard-dg1:          NOTRUN -> [SKIP][334] ([i915#1072] / [i915#9732]) +8 other tests skip
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-15/igt@kms_psr@pr-primary-render.html

  * igt@kms_psr@psr2-cursor-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][335] ([i915#1072] / [i915#14544] / [i915#9732])
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_psr@psr2-cursor-mmap-gtt.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-rkl:          NOTRUN -> [SKIP][336] ([i915#14544] / [i915#15949])
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2:          NOTRUN -> [SKIP][337] ([i915#12755] / [i915#15867])
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-dg2:          NOTRUN -> [SKIP][338] ([i915#5190])
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-tglu:         NOTRUN -> [SKIP][339] ([i915#5289])
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_scaling_modes@scaling-mode-none:
    - shard-rkl:          NOTRUN -> [SKIP][340] ([i915#3555]) +2 other tests skip
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_scaling_modes@scaling-mode-none.html

  * igt@kms_selftest@drm_framebuffer:
    - shard-tglu:         NOTRUN -> [ABORT][341] ([i915#13179]) +1 other test abort
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-7/igt@kms_selftest@drm_framebuffer.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-tglu:         NOTRUN -> [SKIP][342] ([i915#8623])
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@flip-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][343] ([i915#15243] / [i915#3555])
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_vrr@flip-dpms.html

  * igt@kms_vrr@flip-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][344] ([i915#15243] / [i915#3555])
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-3/igt@kms_vrr@flip-suspend.html

  * igt@kms_vrr@lobf:
    - shard-tglu:         NOTRUN -> [SKIP][345] ([i915#11920])
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-9/igt@kms_vrr@lobf.html

  * igt@kms_vrr@negative-basic:
    - shard-tglu:         NOTRUN -> [SKIP][346] ([i915#3555] / [i915#9906])
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-dg2:          NOTRUN -> [SKIP][347] ([i915#9906])
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-8/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-rkl:          NOTRUN -> [SKIP][348] ([i915#9906])
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-dg1:          NOTRUN -> [SKIP][349] ([i915#9906])
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-17/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-tglu:         NOTRUN -> [SKIP][350] ([i915#9906])
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-8/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-mtlp:         NOTRUN -> [SKIP][351] ([i915#8808] / [i915#9906])
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-tglu-1:       NOTRUN -> [SKIP][352] ([i915#9906])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-rkl:          NOTRUN -> [SKIP][353] ([i915#2433])
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@perf@unprivileged-single-ctx-counters.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-rkl:          NOTRUN -> [SKIP][354] ([i915#9917]) +2 other tests skip
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@sriov_basic@enable-vfs-autoprobe-off.html

  
#### Possible fixes ####

  * igt@gem_ccs@suspend-resume:
    - shard-dg2:          [INCOMPLETE][355] ([i915#13356]) -> [PASS][356] +3 other tests pass
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-1/igt@gem_ccs@suspend-resume.html
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@gem_ccs@suspend-resume.html

  * igt@gem_ctx_isolation@preservation-s3:
    - shard-dg2:          [ABORT][357] ([i915#15131]) -> [PASS][358] +1 other test pass
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-10/igt@gem_ctx_isolation@preservation-s3.html
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-6/igt@gem_ctx_isolation@preservation-s3.html

  * igt@gem_exec_big@single:
    - shard-tglu:         [FAIL][359] ([i915#15816]) -> [PASS][360]
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-tglu-3/igt@gem_exec_big@single.html
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-6/igt@gem_exec_big@single.html

  * igt@gem_pxp@reject-modify-context-protection-off-2:
    - shard-rkl:          [SKIP][361] ([i915#4270]) -> [PASS][362]
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-8/igt@gem_pxp@reject-modify-context-protection-off-2.html
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@gem_pxp@reject-modify-context-protection-off-2.html

  * igt@gem_softpin@noreloc-s3:
    - shard-glk:          [INCOMPLETE][363] ([i915#13809]) -> [PASS][364]
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-glk5/igt@gem_softpin@noreloc-s3.html
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk5/igt@gem_softpin@noreloc-s3.html

  * igt@gem_workarounds@suspend-resume:
    - shard-rkl:          [INCOMPLETE][365] ([i915#13356]) -> [PASS][366]
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@gem_workarounds@suspend-resume.html
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@gem_workarounds@suspend-resume.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-dg2:          [FAIL][367] ([i915#12964]) -> [PASS][368] +1 other test pass
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-4/igt@i915_pm_rc6_residency@rc6-accuracy.html
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@i915_pm_rc6_residency@rc6-accuracy.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglu:         [WARN][369] ([i915#13790] / [i915#2681]) -> [PASS][370] +1 other test pass
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-tglu-8/igt@i915_pm_rc6_residency@rc6-fence.html
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_power@sanity:
    - shard-mtlp:         [SKIP][371] ([i915#7984]) -> [PASS][372]
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-4/igt@i915_power@sanity.html
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@i915_power@sanity.html

  * igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-hdmi-a-1:
    - shard-glk:          [FAIL][373] ([i915#14888]) -> [PASS][374] +1 other test pass
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-glk2/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-hdmi-a-1.html
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk6/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-hdmi-a-1.html

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-rkl:          [INCOMPLETE][375] ([i915#12761]) -> [PASS][376] +1 other test pass
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_async_flips@async-flip-suspend-resume.html
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-0:
    - shard-mtlp:         [FAIL][377] ([i915#12469] / [i915#15733] / [i915#5138]) -> [PASS][378]
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-6/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html

  * igt@kms_cursor_crc@cursor-random-64x21:
    - shard-tglu:         [FAIL][379] ([i915#13566]) -> [PASS][380] +3 other tests pass
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-tglu-3/igt@kms_cursor_crc@cursor-random-64x21.html
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-2/igt@kms_cursor_crc@cursor-random-64x21.html

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
    - shard-dg2:          [SKIP][381] ([i915#3555]) -> [PASS][382]
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-8/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-10/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html

  * igt@kms_flip@blocking-wf_vblank:
    - shard-mtlp:         [FAIL][383] ([i915#14600]) -> [PASS][384] +1 other test pass
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-3/igt@kms_flip@blocking-wf_vblank.html
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-4/igt@kms_flip@blocking-wf_vblank.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - shard-mtlp:         [SKIP][385] ([i915#15672]) -> [PASS][386]
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-1/igt@kms_force_connector_basic@prune-stale-modes.html
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-2/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-blt:
    - shard-dg2:          [SKIP][387] ([i915#15989]) -> [PASS][388] +1 other test pass
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-3/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-blt.html
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-10/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-tiling-linear:
    - shard-rkl:          [SKIP][389] ([i915#15989]) -> [PASS][390] +11 other tests pass
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html

  * igt@kms_frontbuffer_tracking@hdr-2p-primscrn-pri-indfb-draw-render:
    - shard-glk:          [SKIP][391] -> [PASS][392] +1 other test pass
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-glk2/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-pri-indfb-draw-render.html
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-glk8/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-dg2:          [SKIP][393] ([i915#16011] / [i915#3555] / [i915#8228]) -> [PASS][394]
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-3/igt@kms_hdr@static-toggle-dpms.html
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-10/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-dg2:          [SKIP][395] ([i915#15073]) -> [PASS][396]
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-3/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-rkl:          [SKIP][397] ([i915#15073]) -> [PASS][398] +1 other test pass
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp.html
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg1:          [SKIP][399] ([i915#15073]) -> [PASS][400] +2 other tests pass
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg1-15/igt@kms_pm_rpm@modeset-non-lpsp.html
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-19/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-rkl:          [INCOMPLETE][401] ([i915#14419]) -> [PASS][402]
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_pm_rpm@system-suspend-idle.html
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_pm_rpm@system-suspend-idle.html

  * igt@kms_vblank@ts-continuation-dpms-suspend:
    - shard-dg1:          [DMESG-WARN][403] ([i915#4423]) -> [PASS][404]
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg1-14/igt@kms_vblank@ts-continuation-dpms-suspend.html
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg1-14/igt@kms_vblank@ts-continuation-dpms-suspend.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
    - shard-rkl:          [INCOMPLETE][405] ([i915#12276]) -> [PASS][406] +1 other test pass
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-3/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html

  * igt@kms_vrr@negative-basic:
    - shard-mtlp:         [FAIL][407] ([i915#15420]) -> [PASS][408] +1 other test pass
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-8/igt@kms_vrr@negative-basic.html
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-7/igt@kms_vrr@negative-basic.html

  
#### Warnings ####

  * igt@api_intel_bb@crc32:
    - shard-rkl:          [SKIP][409] ([i915#14544] / [i915#6230]) -> [SKIP][410] ([i915#6230])
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@api_intel_bb@crc32.html
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@api_intel_bb@crc32.html

  * igt@device_reset@cold-reset-bound:
    - shard-rkl:          [SKIP][411] ([i915#11078] / [i915#14544]) -> [SKIP][412] ([i915#11078])
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@device_reset@cold-reset-bound.html
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@device_reset@cold-reset-bound.html

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-rkl:          [SKIP][413] ([i915#11078]) -> [SKIP][414] ([i915#11078] / [i915#14544])
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@device_reset@unbind-cold-reset-rebind.html
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@gem_basic@multigpu-create-close:
    - shard-rkl:          [SKIP][415] ([i915#7697]) -> [SKIP][416] ([i915#14544] / [i915#7697])
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-3/igt@gem_basic@multigpu-create-close.html
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@gem_basic@multigpu-create-close.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-rkl:          [SKIP][417] ([i915#14544] / [i915#280]) -> [SKIP][418] ([i915#280])
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@gem_ctx_sseu@invalid-args.html
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_exec_reloc@basic-wc:
    - shard-rkl:          [SKIP][419] ([i915#3281]) -> [SKIP][420] ([i915#14544] / [i915#3281]) +3 other tests skip
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-3/igt@gem_exec_reloc@basic-wc.html
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@gem_exec_reloc@basic-wc.html

  * igt@gem_exec_reloc@basic-write-read-noreloc:
    - shard-rkl:          [SKIP][421] ([i915#14544] / [i915#3281]) -> [SKIP][422] ([i915#3281]) +1 other test skip
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-noreloc.html
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-7/igt@gem_exec_reloc@basic-write-read-noreloc.html

  * igt@gem_lmem_evict@dontneed-evict-race:
    - shard-rkl:          [SKIP][423] ([i915#14544] / [i915#4613] / [i915#7582]) -> [SKIP][424] ([i915#4613] / [i915#7582])
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@gem_lmem_evict@dontneed-evict-race.html
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@gem_lmem_evict@dontneed-evict-race.html

  * igt@gem_madvise@dontneed-before-pwrite:
    - shard-rkl:          [SKIP][425] ([i915#14544] / [i915#3282]) -> [SKIP][426] ([i915#3282]) +1 other test skip
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@gem_madvise@dontneed-before-pwrite.html
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@gem_madvise@dontneed-before-pwrite.html

  * igt@gem_pread@snoop:
    - shard-rkl:          [SKIP][427] ([i915#3282]) -> [SKIP][428] ([i915#14544] / [i915#3282]) +4 other tests skip
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-7/igt@gem_pread@snoop.html
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@gem_pread@snoop.html

  * igt@gem_set_tiling_vs_blt@tiled-to-untiled:
    - shard-rkl:          [SKIP][429] ([i915#14544] / [i915#8411]) -> [SKIP][430] ([i915#8411])
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html

  * igt@gem_userptr_blits@unsync-overlap:
    - shard-rkl:          [SKIP][431] ([i915#14544] / [i915#3297]) -> [SKIP][432] ([i915#3297]) +1 other test skip
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@gem_userptr_blits@unsync-overlap.html
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@gem_userptr_blits@unsync-overlap.html

  * igt@gen9_exec_parse@batch-without-end:
    - shard-rkl:          [SKIP][433] ([i915#2527]) -> [SKIP][434] ([i915#14544] / [i915#2527])
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-3/igt@gen9_exec_parse@batch-without-end.html
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@gen9_exec_parse@batch-without-end.html

  * igt@i915_module_load@fault-injection:
    - shard-mtlp:         [ABORT][435] ([i915#15342] / [i915#15481]) -> [ABORT][436] ([i915#15342] / [i915#15481] / [i915#15895])
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-mtlp-7/igt@i915_module_load@fault-injection.html
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-mtlp-6/igt@i915_module_load@fault-injection.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-rkl:          [SKIP][437] ([i915#9531]) -> [SKIP][438] ([i915#14544] / [i915#9531])
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-2/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-90:
    - shard-rkl:          [SKIP][439] ([i915#14544] / [i915#5286]) -> [SKIP][440] ([i915#5286]) +1 other test skip
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-7/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-180:
    - shard-rkl:          [SKIP][441] ([i915#5286]) -> [SKIP][442] ([i915#14544] / [i915#5286])
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-7/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-270:
    - shard-rkl:          [SKIP][443] ([i915#3638]) -> [SKIP][444] ([i915#14544] / [i915#3638]) +1 other test skip
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-2/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          [SKIP][445] ([i915#14098] / [i915#6095]) -> [SKIP][446] ([i915#14098] / [i915#14544] / [i915#6095]) +4 other tests skip
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-2.html
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          [SKIP][447] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][448] ([i915#14098] / [i915#6095]) +5 other tests skip
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-c-hdmi-a-2.html
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][449] ([i915#14544] / [i915#6095]) -> [SKIP][450] ([i915#6095]) +3 other tests skip
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          [SKIP][451] ([i915#6095]) -> [SKIP][452] ([i915#14544] / [i915#6095]) +3 other tests skip
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-a-hdmi-a-2.html
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
    - shard-rkl:          [SKIP][453] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][454] ([i915#11151] / [i915#7828]) +1 other test skip
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-rkl:          [SKIP][455] ([i915#11151] / [i915#7828]) -> [SKIP][456] ([i915#11151] / [i915#14544] / [i915#7828]) +1 other test skip
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-2/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-rkl:          [SKIP][457] ([i915#15330] / [i915#3116]) -> [SKIP][458] ([i915#14544] / [i915#15330] / [i915#3116])
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-5/igt@kms_content_protection@dp-mst-lic-type-1.html
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@uevent:
    - shard-dg2:          [FAIL][459] ([i915#1339] / [i915#7173]) -> [SKIP][460] ([i915#15865])
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-10/igt@kms_content_protection@uevent.html
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@kms_content_protection@uevent.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-rkl:          [SKIP][461] ([i915#13749]) -> [SKIP][462] ([i915#13749] / [i915#14544])
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_dp_link_training@non-uhbr-mst.html
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_flip@2x-dpms-vs-vblank-race:
    - shard-rkl:          [SKIP][463] ([i915#14544] / [i915#9934]) -> [SKIP][464] ([i915#9934]) +1 other test skip
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_flip@2x-dpms-vs-vblank-race.html
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_flip@2x-dpms-vs-vblank-race.html

  * igt@kms_flip@2x-plain-flip:
    - shard-rkl:          [SKIP][465] ([i915#9934]) -> [SKIP][466] ([i915#14544] / [i915#9934]) +2 other tests skip
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-7/igt@kms_flip@2x-plain-flip.html
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling:
    - shard-rkl:          [SKIP][467] ([i915#14544] / [i915#15643]) -> [SKIP][468] ([i915#15643]) +1 other test skip
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling.html
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling:
    - shard-rkl:          [SKIP][469] ([i915#15643]) -> [SKIP][470] ([i915#14544] / [i915#15643])
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-rkl:          [SKIP][471] ([i915#14544] / [i915#1825]) -> [SKIP][472] ([i915#1825]) +4 other tests skip
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbchdr-suspend:
    - shard-rkl:          [SKIP][473] ([i915#15989]) -> [INCOMPLETE][474] ([i915#16056])
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_frontbuffer_tracking@fbchdr-suspend.html
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-dg2:          [SKIP][475] ([i915#15102]) -> [SKIP][476] ([i915#10433] / [i915#15102]) +1 other test skip
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-rkl:          [SKIP][477] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][478] ([i915#15102] / [i915#3023]) +4 other tests skip
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-indfb-plflip-blt:
    - shard-rkl:          [SKIP][479] ([i915#15102]) -> [SKIP][480] ([i915#14544] / [i915#15102]) +5 other tests skip
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-indfb-plflip-blt.html
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu:
    - shard-rkl:          [SKIP][481] ([i915#14544] / [i915#15102]) -> [SKIP][482] ([i915#15102]) +11 other tests skip
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu.html
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-rkl:          [SKIP][483] ([i915#15102] / [i915#3023]) -> [SKIP][484] ([i915#14544] / [i915#15102] / [i915#3023]) +3 other tests skip
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][485] ([i915#1825]) -> [SKIP][486] ([i915#14544] / [i915#1825])
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary:
    - shard-dg2:          [SKIP][487] ([i915#10433] / [i915#15102]) -> [SKIP][488] ([i915#15102]) +1 other test skip
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][489] -> [SKIP][490] ([i915#14544]) +27 other tests skip
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-5/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc.html
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-shrfb-plflip-blt:
    - shard-rkl:          [SKIP][491] ([i915#14544]) -> [SKIP][492] +33 other tests skip
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-shrfb-plflip-blt.html
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-shrfb-plflip-blt.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-rkl:          [SKIP][493] ([i915#14544] / [i915#15458]) -> [SKIP][494] ([i915#15458])
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_panel_fitting@legacy:
    - shard-rkl:          [SKIP][495] ([i915#14544] / [i915#6301]) -> [SKIP][496] ([i915#6301])
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_panel_fitting@legacy.html
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping:
    - shard-rkl:          [SKIP][497] ([i915#14544] / [i915#15709]) -> [SKIP][498] ([i915#15709]) +1 other test skip
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-7/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier-source-clamping:
    - shard-rkl:          [SKIP][499] ([i915#15709]) -> [SKIP][500] ([i915#14544] / [i915#15709]) +1 other test skip
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier-source-clamping.html
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier-source-clamping.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b:
    - shard-rkl:          [SKIP][501] ([i915#15329]) -> [SKIP][502] ([i915#14544] / [i915#15329]) +3 other tests skip
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html

  * igt@kms_pm_backlight@fade:
    - shard-rkl:          [SKIP][503] ([i915#5354]) -> [SKIP][504] ([i915#14544] / [i915#5354])
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_pm_backlight@fade.html
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-tglu:         [SKIP][505] ([i915#15128]) -> [FAIL][506] ([i915#15752])
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-tglu-6/igt@kms_pm_dc@dc6-dpms.html
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-tglu-9/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-rkl:          [SKIP][507] ([i915#15948]) -> [SKIP][508] ([i915#14544] / [i915#15948])
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_pm_dc@dc6-psr.html
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
    - shard-rkl:          [SKIP][509] ([i915#11520] / [i915#14544]) -> [SKIP][510] ([i915#11520]) +4 other tests skip
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-3/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-rkl:          [SKIP][511] ([i915#11520]) -> [SKIP][512] ([i915#11520] / [i915#14544]) +1 other test skip
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-2/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-rkl:          [SKIP][513] ([i915#9683]) -> [SKIP][514] ([i915#14544] / [i915#9683])
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-4/igt@kms_psr2_su@frontbuffer-xrgb8888.html
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@fbc-pr-suspend:
    - shard-rkl:          [SKIP][515] ([i915#1072] / [i915#9732]) -> [SKIP][516] ([i915#1072] / [i915#14544] / [i915#9732]) +3 other tests skip
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-5/igt@kms_psr@fbc-pr-suspend.html
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-6/igt@kms_psr@fbc-pr-suspend.html

  * igt@kms_psr@pr-cursor-mmap-cpu:
    - shard-rkl:          [SKIP][517] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][518] ([i915#1072] / [i915#9732]) +6 other tests skip
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_psr@pr-cursor-mmap-cpu.html
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@kms_psr@pr-cursor-mmap-cpu.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-rkl:          [SKIP][519] ([i915#14544] / [i915#5289]) -> [SKIP][520] ([i915#5289])
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
    - shard-dg2:          [SKIP][521] ([i915#15867]) -> [SKIP][522] ([i915#12755] / [i915#15867])
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-dg2-10/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-dg2-7/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html

  * igt@kms_setmode@clone-exclusive-crtc:
    - shard-rkl:          [SKIP][523] ([i915#14544] / [i915#3555]) -> [SKIP][524] ([i915#3555]) +1 other test skip
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@kms_setmode@clone-exclusive-crtc.html
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@kms_setmode@clone-exclusive-crtc.html

  * igt@perf@mi-rpc:
    - shard-rkl:          [SKIP][525] ([i915#14544] / [i915#2434]) -> [SKIP][526] ([i915#2434])
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@perf@mi-rpc.html
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-8/igt@perf@mi-rpc.html

  * igt@prime_vgem@basic-write:
    - shard-rkl:          [SKIP][527] ([i915#14544] / [i915#3291] / [i915#3708]) -> [SKIP][528] ([i915#3291] / [i915#3708])
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18479/shard-rkl-6/igt@prime_vgem@basic-write.html
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/shard-rkl-2/igt@prime_vgem@basic-write.html

  
  [i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553
  [i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
  [i915#12169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12169
  [i915#12177]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12177
  [i915#12178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12178
  [i915#12193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12193
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12469
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
  [i915#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
  [i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
  [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
  [i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008
  [i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
  [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
  [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
  [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
  [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#1339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1339
  [i915#13390]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13390
  [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
  [i915#13409]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13409
  [i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13688
  [i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
  [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
  [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
  [i915#13809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13809
  [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
  [i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
  [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
  [i915#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
  [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586
  [i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600
  [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
  [i915#14888]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14888
  [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
  [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
  [i915#15128]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15128
  [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
  [i915#15172]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15172
  [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
  [i915#15314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15314
  [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
  [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
  [i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342
  [i915#15420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15420
  [i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
  [i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
  [i915#15460]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15460
  [i915#15481]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15481
  [i915#15560]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15560
  [i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
  [i915#15608]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15608
  [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
  [i915#15672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15672
  [i915#15678]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15678
  [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
  [i915#15718]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15718
  [i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733
  [i915#15752]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15752
  [i915#15816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15816
  [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
  [i915#15867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15867
  [i915#15871]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15871
  [i915#15895]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15895
  [i915#15948]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15948
  [i915#15949]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15949
  [i915#15989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15989
  [i915#15990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15990
  [i915#15991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15991
  [i915#16011]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16011
  [i915#16012]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16012
  [i915#16056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16056
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
  [i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#3955]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3955
  [i915#4036]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4036
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [i915#5107]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5107
  [i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
  [i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862
  [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8717
  [i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#8898]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8898
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
  [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_8907 -> IGTPW_15168
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_18479: 8fbb3d48e61c7e68cefdba85c3fa3ba59e7a93b4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_15168: cb906051f0322f626e8ff2985aa3c8dc257781d5 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8907: 6b305d78c65768c09cc7c0e902273bf409bbd218 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15168/index.html

[-- Attachment #2: Type: text/html, Size: 177629 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-05-14  0:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 18:21 [PATCH] tests/amdgpu: add USERPTR PTE invalidation regression test vitaly.prosyak
2026-05-13  0:20 ` ✓ i915.CI.BAT: success for " Patchwork
2026-05-13  1:13 ` [PATCH] " Zhang, Jesse(Jie)
2026-05-13  1:33 ` ✓ Xe.CI.BAT: success for " Patchwork
2026-05-13  7:02 ` [PATCH] " Christian König
2026-05-13 19:15 ` ✗ Xe.CI.FULL: failure for " Patchwork
2026-05-14  0:41 ` ✗ i915.CI.Full: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox