Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices
@ 2026-10-28 20:05 Michael J. Ruhl
  2026-10-28 20:05 ` [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features Michael J. Ruhl
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Michael J. Ruhl @ 2026-10-28 20:05 UTC (permalink / raw)
  To: rodrigo.vivi, igt-dev, frank.scarbrough, david.e.box

BMG and CRI devices have PMT functionality.

Provide tests to exercise that functionality.

--
v2:
  - moved data file check to first patch
  - moved crashlog trigger compile to first patch

Michael J. Ruhl (2):
  test/intel/xe_pmt: Add testing for BMG PMT features
  test/intel/xe_pmt: Support CRI PMT

 tests/intel/xe_pmt.c | 645 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 645 insertions(+)
 create mode 100644 tests/intel/xe_pmt.c

-- 
2.43.0


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

* [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features
  2026-10-28 20:05 [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices Michael J. Ruhl
@ 2026-10-28 20:05 ` Michael J. Ruhl
  2026-11-11 19:23   ` Rodrigo Vivi
  2026-10-28 20:05 ` [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT Michael J. Ruhl
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Michael J. Ruhl @ 2026-10-28 20:05 UTC (permalink / raw)
  To: rodrigo.vivi, igt-dev, frank.scarbrough, david.e.box

Battlemage (BMG) devices have the Platform Monitoring
Technology (PMT) telemetry and crashlog features. If the
device present is a BMG, test the PMT API.

NOTE: the testing order is not flexible and must be done in
the currently specified order.

Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
---
 tests/intel/xe_pmt.c | 562 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 562 insertions(+)
 create mode 100644 tests/intel/xe_pmt.c

diff --git a/tests/intel/xe_pmt.c b/tests/intel/xe_pmt.c
new file mode 100644
index 000000000..af5d470b5
--- /dev/null
+++ b/tests/intel/xe_pmt.c
@@ -0,0 +1,562 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <unistd.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <string.h>
+
+#include "igt.h"
+#include "igt_sysfs.h"
+#include "linux_scaffold.h"
+#include "xe_drm.h"
+#include "xe/xe_ioctl.h"
+#include "xe/xe_query.h"
+
+/**
+ * TEST: Verify Platform Monitoring Technology (PMT) files operations
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: sysfs
+ * Description: Verify that the available PMT files (crashlog and telemetry)
+ *   are created, are accessable, and respond as per design.
+ *
+ * SUBTEST: pmt-bmg-all
+ * Description:
+ *   Exercise the BMG PMT feature
+ *
+ */
+
+IGT_TEST_DESCRIPTION("Verify Platform Monitoring Technology (PMT) files operations");
+
+/* base directory names */
+#define VSEC_CRASHLOG_DIR "intel_vsec.crashlog."
+#define VSEC_TELEMETRY_DIR "intel_vsec.telemetry."
+#define CRASHLOG_DIR "crashlog"
+#define TELEMETRY_DIR "telem"
+
+/* itemize the available instances for the specific device */
+enum bmg_crashlog_instances {
+	bmg_crashlog_punit = 0,
+	bmg_crashlog_oobmsm,
+	bmg_crashlog_max
+};
+
+enum bmg_telemety_instances {
+	bmg_telemetry_punit = 0,
+	bmg_telemetry_oobmsm,
+	bmg_telemetry_max
+};
+
+static char dev_path[PATH_MAX];
+static char work_path[PATH_MAX * 2];
+
+/*
+ * In most case there should be a single instance of the crashlog and telemetry
+ * directories. If DVSEC entries are not contiguous the structure will be different,
+ * and the code will need to reflect the structure.
+ */
+static char crashlog_vsec_dir[32];
+static char telemetry_vsec_dir[32];
+
+/* This needs to be specific for each supported device */
+static char crashlog_dir[bmg_crashlog_max][32];
+static char telemetry_dir[bmg_telemetry_max][32];
+
+/* telemetry file names */
+static const char *telem = "telem";
+
+/* crashlog filenames and descriptors */
+static const char *clear = "clear";
+static const char *consumed = "consumed";
+static const char *crashlog = "crashlog";
+static const char *enable = "enable";
+static const char *error = "error";
+static const char *dev_guid = "guid";
+static const char *rearm = "rearm";
+static const char *trigger = "trigger";
+
+struct crashlog_v2_info {
+	int clear_fd;
+	int consumed_fd;
+	int crashlog_fd;
+	int enable_fd;
+	int error_fd;
+	int guid_fd;
+	int rearm_fd;
+	int trigger_fd;
+	u_int32_t guid;
+} bmg_info[bmg_crashlog_max];
+
+#define DEV_PATH_LEN 80
+
+/*
+ * device_sysfs_path:
+ * @fd: opened device file descriptor
+ * @path: buffer to store sysfs path to device directory
+ *
+ * Returns:
+ * On successfull path resolution sysfs path to device directory,
+ * NULL otherwise
+ */
+static char *device_sysfs_path(int fd, char *path)
+{
+        char sysfs[DEV_PATH_LEN];
+
+        if (!igt_sysfs_path(fd, sysfs, sizeof(sysfs)))
+                return NULL;
+
+        if (DEV_PATH_LEN <= (strlen(sysfs) + strlen("/device")))
+                return NULL;
+
+        strcat(sysfs, "/device");
+
+        return realpath(sysfs, path);
+}
+
+/*
+ * Verify the PMT directory structure
+ *
+ * BMG PMT directory structure:
+ *   device/intel_vsec.crashlog.x/intel_pmt/crashlog<a,b>
+ *   device/intel_vsec.telemetry.x/intel_pmt/telemetry<c,d>
+ *
+ * Note: different platforms could have a different pattern
+ */
+static void test_pmt_directories(int dev_fd)
+{
+	struct dirent *ent;
+	int index;
+	DIR *dir;
+
+	igt_assert(device_sysfs_path(dev_fd, dev_path));
+
+	/* verify top level PMT directories */
+	dir = opendir(dev_path);
+	igt_assert_f(dir, "no directories found\n");
+
+	while ((ent = readdir(dir)) != NULL) {
+		if (strncmp(VSEC_CRASHLOG_DIR, ent->d_name, sizeof(VSEC_CRASHLOG_DIR) - 1) == 0)
+			strcpy(crashlog_vsec_dir, ent->d_name);
+		if (strncmp(VSEC_TELEMETRY_DIR, ent->d_name, sizeof(VSEC_TELEMETRY_DIR) - 1) == 0)
+			strcpy(telemetry_vsec_dir, ent->d_name);
+	}
+
+	closedir(dir);
+
+	igt_assert_f(strlen(crashlog_vsec_dir), "missing crashlog directory\n");
+	igt_assert_f(strlen(telemetry_vsec_dir), "missing telemetry directory\n");
+
+	/* verify crashlog directory structure */
+	sprintf(work_path, "%s/%s/%s", dev_path, crashlog_vsec_dir, "intel_pmt");
+
+	dir = opendir(work_path);
+	igt_assert_f(dir, "no intel_pmt directories found\n");
+
+	index = 0;
+	/* find the crashlog<x> directory instances */
+	while ((ent = readdir(dir)) != NULL) {
+		if (strncmp(CRASHLOG_DIR, ent->d_name, sizeof(CRASHLOG_DIR) - 1) == 0) {
+			if (index < bmg_crashlog_max)
+				strcpy(crashlog_dir[index], ent->d_name);
+			index++;
+		}
+	}
+
+	closedir(dir);
+
+	igt_assert_f(index == bmg_crashlog_max, "too many crashlog entries %d\n", index);
+	for (int i = 0; i < ARRAY_SIZE(crashlog_dir); i++)
+		igt_assert_f(strlen(crashlog_dir[i]), "missing crashlog[%d] directory\n", i);
+
+	/* verify telemetry directory structure */
+	sprintf(work_path, "%s/%s/%s", dev_path, telemetry_vsec_dir, "intel_pmt");
+
+	dir = opendir(work_path);
+	igt_assert_f(dir, "no telemetry intel_pmt directories found\n");
+
+	index = 0;
+	while ((ent = readdir(dir)) != NULL) {
+		if (strncmp(TELEMETRY_DIR, ent->d_name, sizeof(TELEMETRY_DIR) - 1) == 0) {
+			if (index < bmg_telemetry_max)
+				strcpy(telemetry_dir[index], ent->d_name);
+			index++;
+		}
+	}
+
+	closedir(dir);
+
+	igt_assert_f(index == bmg_telemetry_max, "too many telemetry entries %d\n", index);
+	for (int i = 0; i < ARRAY_SIZE(telemetry_dir); i++)
+		igt_assert_f(strlen(telemetry_dir[i]), "missing telemetry[%d] directory\n", i);
+
+}
+
+static void find_pmt_file(const char *path, const char *file)
+{
+	struct dirent *ent;
+	bool found;
+	DIR *dir;
+
+	dir = opendir(path);
+	igt_assert_f(dir, "no intel_pmt directories found\n");
+
+	found = false;
+	while ((ent = readdir(dir)) != NULL)
+		if (strcmp(file, ent->d_name) == 0)
+			found = true;
+	closedir(dir);
+
+	igt_assert_f(found, "missing %s from %s\n", file, path);
+}
+
+static void open_pmt_file(const char *path, const char *file, int *fd, int flags)
+{
+	char file_path[PATH_MAX * 2 + 1];
+
+	sprintf(file_path, "%s/%s", path, file);
+
+	*fd = open(file_path, flags);
+	igt_assert_f(*fd > -1, "failed to open %s\n", file_path);
+}
+
+/*
+ * verify that the expected telemetry file(s) are in place
+ */
+static void test_pmt_telemetry_files(int dev_fd)
+{
+	int i;
+
+	for (i = 0; i < bmg_telemetry_max; i++) {
+		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
+			"intel_pmt", telemetry_dir[i]);
+		find_pmt_file(work_path, telem);
+	}
+}
+
+/*
+ * verify that a read will be successful
+ */
+static void test_pmt_telemetry_read_data(int dev_fd)
+{
+	char buf[64] = {};
+	u_int32_t *val;
+	u_int32_t guid;
+	int telem_fd;
+	int guid_fd;
+	int ret;
+	int len;
+	int i;
+
+	for (i = 0; i < bmg_telemetry_max; i++) {
+		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
+			"intel_pmt", telemetry_dir[i]);
+		open_pmt_file(work_path, telem, &telem_fd, O_RDONLY);
+		open_pmt_file(work_path, dev_guid, &guid_fd, O_RDONLY);
+
+		ret = pread(guid_fd, buf, sizeof(buf), 0);
+		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
+		guid = strtol(buf, NULL, 16);
+		igt_assert_f(guid > 0, "failed to get guid for device %d\n", i);
+
+		len = read(telem_fd, buf, sizeof(buf));
+		igt_assert_f(len == sizeof(buf), "0x%x: failed to read telemetry data\n", guid);
+
+		val = (u_int32_t *)buf;
+		igt_assert_f(*val != 0xffffffff, "0x%x: invalid telemetry data value: : 0x%x\n",
+			     guid, *val);
+
+		close(telem_fd);
+		close(guid_fd);
+	}
+}
+
+/*
+ * verify that the expected crashlog files are in place
+ */
+static void test_pmt_crashlog_files(int dev_fd)
+{
+	char buf[64] = {};
+	int ret;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+		sprintf(work_path, "%s/%s/%s/%s", dev_path, crashlog_vsec_dir, "intel_pmt",
+			crashlog_dir[i]);
+
+		open_pmt_file(work_path, clear, &bmg_info[i].clear_fd, O_RDONLY);
+		open_pmt_file(work_path, consumed, &bmg_info[i].consumed_fd, O_RDWR);
+		open_pmt_file(work_path, crashlog, &bmg_info[i].crashlog_fd, O_RDONLY);
+		open_pmt_file(work_path, enable, &bmg_info[i].enable_fd, O_RDWR);
+		open_pmt_file(work_path, error, &bmg_info[i].error_fd, O_RDONLY);
+		open_pmt_file(work_path, dev_guid, &bmg_info[i].guid_fd, O_RDONLY);
+		open_pmt_file(work_path, rearm, &bmg_info[i].rearm_fd, O_RDWR);
+		open_pmt_file(work_path, trigger, &bmg_info[i].trigger_fd, O_RDWR);
+
+		ret = pread(bmg_info[i].guid_fd, buf, sizeof(buf), 0);
+		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
+		bmg_info[i].guid = strtol(buf, NULL, 16);
+		igt_assert_f(bmg_info[i].guid > 0, "failed to set guid for device %d\n", i);
+	}
+}
+
+#define ENABLE_MSG "1\n"
+#define DISABLE_MSG "0\n"
+
+static bool send_msg(int fd, const char *msg, const char *file) {
+	size_t len = strlen(msg);
+	int ret;
+
+	errno = 0;
+	ret = pwrite(fd, msg, len, 0);
+	if (ret != len)
+		igt_info("%s failed: len: %ld vs %d  errno: %d\n", file, len, ret,
+			 errno);
+
+	return ret == len;
+}
+
+static bool verify_msg(int fd, const char *msg, const char *file) {
+	size_t len = strlen(msg);
+	char buf[32] = {};
+	int ret;
+
+	errno = 0;
+	ret = pread(fd, buf, sizeof(buf), 0);
+	if (ret != len)
+		igt_info("%s failed: len: %ld vs %d  errno: %d\n", file, len, ret, errno);
+
+	return ret == len && strcmp(buf, msg) == 0;
+}
+
+/*
+ * Set enable enable/disable bit and verify usage
+ */
+static void test_pmt_crashlog_enable(int dev_fd)
+{
+	u_int32_t guid;
+	int fd;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+		fd = bmg_info[i].enable_fd;
+		guid = bmg_info[i].guid;
+
+		/* force enable so we are in a known state */
+		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: send enable\n", guid);
+		igt_assert_f(verify_msg(fd, ENABLE_MSG, enable), "0x%x: verify enable\n", guid);
+
+		/* disable */
+		igt_assert_f(send_msg(fd, DISABLE_MSG, enable), "0x%x: send disable\n", guid);
+		igt_assert_f(verify_msg(fd, DISABLE_MSG, enable), "0x%x: verify disable\n", guid);
+
+		/* re-enable so we can do more testing */
+		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: re-enable\n", guid);
+		igt_assert_f(verify_msg(fd, ENABLE_MSG, enable), "0x%x: verify re-enable\n", guid);
+	}
+
+}
+
+/*
+ * The error bit is set when a crashlog fails in HW.  It is read only so only
+ * need to verify that it is "0".
+ */
+static void test_pmt_crashlog_error(int dev_fd)
+{
+	uint32_t guid;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+		guid = bmg_info[i].guid;
+		igt_assert_f(verify_msg(bmg_info[i].error_fd, DISABLE_MSG, error),
+			     "0x%x: error clear\n", guid);
+	}
+}
+
+/*
+ * The rearm bit is set at cold boot.  It cannot be reset unless are real crashlog
+ * occurs (i.e. setting trigger will not change its value).  Verify that it is "1".
+ */
+static void test_pmt_crashlog_rearm(int dev_fd)
+{
+	uint32_t guid;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+		guid = bmg_info[i].guid;
+		igt_assert_f(verify_msg(bmg_info[i].rearm_fd, ENABLE_MSG, rearm),
+			     "0x%x: rearm set\n", guid);
+	}
+}
+
+//#define PMT_CRASHLOG_TRIGGER_ENABLE 1
+#if PMT_CRASHLOG_TRIGGER_ENABLE
+/*
+ * Set the manual trigger bit and make sure the data is not 0xdeadbeef
+ */
+static void test_pmt_crashlog_trigger(int dev_fd)
+{
+	char buf[64] = {};
+	u_int32_t *val;
+	int crashlog_fd;
+	int trigger_fd;
+	u_int32_t guid;
+	int len;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+		crashlog_fd = bmg_info[i].crashlog_fd;
+		trigger_fd = bmg_info[i].trigger_fd;
+		guid = bmg_info[i].guid;
+
+		/* make sure the bit is clear */
+		igt_assert_f(verify_msg(trigger_fd, DISABLE_MSG, trigger), "0x%x: trigger clear\n",
+			     guid);
+		/* set the trigger bit (1 -> trigger)*/
+		igt_assert_f(send_msg(trigger_fd, ENABLE_MSG, trigger), "0x%x: set trigger\n", guid);
+
+		/* sleep to let the HW do its thing */
+		sleep(1);
+
+		/* make sure the bit is set */
+		igt_assert_f(verify_msg(trigger_fd, ENABLE_MSG, trigger), "0x%x: trigger not set\n",
+			     guid);
+
+		len = read(crashlog_fd, buf, sizeof(buf));
+		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
+
+		val = (u_int32_t *)buf;
+
+		igt_assert_f(*val != 0xdeadbeef, "0x%x: invalid trigger value: : 0x%x", guid, *val);
+	}
+}
+
+/*
+ * After a crashlog has been "consumed" (read), setting this bit can be done.
+ * Verify that it is set correctly.
+ */
+static void test_pmt_crashlog_consumed(int dev_fd)
+{
+	uint32_t guid;
+	int fd;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+		fd = bmg_info[i].consumed_fd;
+		guid = bmg_info[i].guid;
+
+		/* check, set, verify */
+		igt_assert_f(verify_msg(fd, DISABLE_MSG, consumed), "0x%x: consumed clear\n", guid);
+		igt_assert_f(send_msg(fd, ENABLE_MSG, consumed), "0x%x: set consumed\n", guid);
+		/* sleep(1) to allow HW to set the bit */
+		sleep(1);
+		igt_assert_f(verify_msg(fd, ENABLE_MSG, consumed), "0x%x: verify consumed\n", guid);
+	}
+}
+
+/*
+ * Test the clear crashlog bit. After setting the crashlog data buffer should be
+ * set to 0xdeadbeef.
+ * BMG supports writing "1" to the clear file, but writing "0" (DISABLE_MSG) to trigger
+ * file is the "standard" usage, so test that usage.
+ * This bit cannot be cleared by software (i.e. reboot required).
+ */
+static void test_pmt_crashlog_clear(int dev_fd)
+{
+	char buf[64] = {};
+	u_int32_t guid;
+	int crashlog_fd;
+	int trigger_fd;
+	int clear_fd;
+	int *val;
+	int len;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+		clear_fd = bmg_info[i].clear_fd;
+		crashlog_fd = bmg_info[i].crashlog_fd;
+		trigger_fd = bmg_info[i].trigger_fd;
+		guid = bmg_info[i].guid;
+
+		/* make sure the bit is clear */
+		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x: verify clear\n", guid);
+
+		/* set the clear bit (0 -> trigger)*/
+		igt_assert_f(send_msg(trigger_fd, DISABLE_MSG, trigger), "0x%x: send enable\n", guid);
+
+		/* make sure the bit is set.  sleep() to allow HW to set the bit */
+		sleep(1);
+		igt_assert_f(verify_msg(clear_fd, ENABLE_MSG, clear), "0x%x: clear set\n", guid);
+
+		len = read(crashlog_fd, buf, sizeof(buf));
+		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
+
+		val = (int *)buf;
+		igt_assert_f(*val == 0xdeadbeef, "0x%x: invalid clear data value: : 0x%x", guid, *val);
+	}
+}
+#endif
+
+/**
+ * SUBTEST: pmt-bmg-all
+ * Description:
+ *   Because of how the Crashlog Instances behave, these tests are ordered. Do not use them
+ *   individually unless you understand the underlying HW behavior.  Because of this behavior,
+ *   all of the test will be done in order in one step.
+ *   NOTE:
+ *     o Testing MUST be done after a cold reset
+ *     o Once crashlog is triggered the device behavior is undefined and requires a cold reset
+ *
+ *  Test category: functionality test
+ */
+static void test_pmt_bmg(int fd)
+{
+	test_pmt_directories(fd);
+
+	test_pmt_telemetry_files(fd);
+	test_pmt_telemetry_read_data(fd);
+
+	test_pmt_crashlog_files(fd);
+	test_pmt_crashlog_error(fd);
+	test_pmt_crashlog_enable(fd);
+	test_pmt_crashlog_rearm(fd);
+
+#if PMT_CRASHLOG_TRIGGER_ENABLE
+	test_pmt_crashlog_trigger(fd);
+	test_pmt_crashlog_consumed(fd);
+	test_pmt_crashlog_clear(fd);
+#endif
+}
+
+int igt_main()
+{
+	const struct {
+		const char *name;
+		void (*func)(int);
+	} funcs[] = {
+		{ "pmt-bmg-all", test_pmt_bmg },
+		{ }
+	}, *f;
+	int dev_fd;
+
+	igt_fixture() {
+		uint16_t dev_id;
+
+		dev_fd = drm_open_driver(DRIVER_XE);
+		dev_id = intel_get_drm_devid(dev_fd);
+		igt_require_f(IS_BATTLEMAGE(dev_id), "PMT supported on BMG GPU\n");
+	}
+
+	igt_describe("PMT access and API testing");
+	for (f = funcs; f->name; f++) {
+		igt_subtest_f("%s", f->name)
+			f->func(dev_fd);
+	}
+
+	igt_fixture()
+		drm_close_driver(dev_fd);
+}
-- 
2.43.0


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

* [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT
  2026-10-28 20:05 [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices Michael J. Ruhl
  2026-10-28 20:05 ` [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features Michael J. Ruhl
@ 2026-10-28 20:05 ` Michael J. Ruhl
  2026-11-11 19:23   ` Rodrigo Vivi
  2026-10-28 23:18 ` ✓ Xe.CI.BAT: success for Support PMT for BMG and CRI devices (rev2) Patchwork
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Michael J. Ruhl @ 2026-10-28 20:05 UTC (permalink / raw)
  To: rodrigo.vivi, igt-dev, frank.scarbrough, david.e.box

Crescent Island (CRI) devices have the Platform Monitoring
Technology (PMT) support for the telemetry and crashlog
(type 1/version2) functions.

Add test support for the device.

Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
---
 tests/intel/xe_pmt.c | 259 ++++++++++++++++++++++++++++---------------
 1 file changed, 171 insertions(+), 88 deletions(-)

diff --git a/tests/intel/xe_pmt.c b/tests/intel/xe_pmt.c
index af5d470b5..ebd3fe3f6 100644
--- a/tests/intel/xe_pmt.c
+++ b/tests/intel/xe_pmt.c
@@ -8,6 +8,7 @@
 #include <fcntl.h>
 #include <limits.h>
 #include <string.h>
+#include <linux/limits.h>
 
 #include "igt.h"
 #include "igt_sysfs.h"
@@ -25,9 +26,9 @@
  * Description: Verify that the available PMT files (crashlog and telemetry)
  *   are created, are accessable, and respond as per design.
  *
- * SUBTEST: pmt-bmg-all
+ * SUBTEST: pmt-api
  * Description:
- *   Exercise the BMG PMT feature
+ *   Verify that the correct PMT sysfs file exist and verify access
  *
  */
 
@@ -40,16 +41,34 @@ IGT_TEST_DESCRIPTION("Verify Platform Monitoring Technology (PMT) files operatio
 #define TELEMETRY_DIR "telem"
 
 /* itemize the available instances for the specific device */
-enum bmg_crashlog_instances {
-	bmg_crashlog_punit = 0,
-	bmg_crashlog_oobmsm,
-	bmg_crashlog_max
+enum pmt_device {
+	PMT_DEVICE_BMG,
+	PMT_DEVICE_CRI,
 };
 
-enum bmg_telemety_instances {
-	bmg_telemetry_punit = 0,
-	bmg_telemetry_oobmsm,
-	bmg_telemetry_max
+struct pmt_device_info {
+	uint32_t max_crashlog;
+	uint32_t max_telem;
+};
+
+#define BMG_CRASHLOG_MAX	(2)
+#define BMG_TELEM_MAX		(2)
+
+#define CRI_CRASHLOG_MAX	(2)
+#define CRI_TELEM_MAX		(3)
+
+#define CRASHLOG_MAX		CRI_CRASHLOG_MAX
+#define TELEM_MAX		CRI_TELEM_MAX
+
+struct pmt_device_info device_info[] = {
+	[PMT_DEVICE_BMG] = {
+		.max_crashlog = BMG_CRASHLOG_MAX,
+		.max_telem = BMG_TELEM_MAX,
+	},
+	[PMT_DEVICE_CRI] = {
+		.max_crashlog = CRI_CRASHLOG_MAX,
+		.max_telem = CRI_TELEM_MAX,
+	},
 };
 
 static char dev_path[PATH_MAX];
@@ -59,13 +78,18 @@ static char work_path[PATH_MAX * 2];
  * In most case there should be a single instance of the crashlog and telemetry
  * directories. If DVSEC entries are not contiguous the structure will be different,
  * and the code will need to reflect the structure.
+ * vsec directory string size is sizeof(xxx_DIR) + idx.  For instance:
+ *    intel_vsec.crashlog.3
+ *    intel_vsec.telemetry.23
  */
-static char crashlog_vsec_dir[32];
-static char telemetry_vsec_dir[32];
+#define MAX_VSEC_DIR (32)
+
+static char crashlog_vsec_dir[MAX_VSEC_DIR];
+static char telemetry_vsec_dir[MAX_VSEC_DIR];
 
 /* This needs to be specific for each supported device */
-static char crashlog_dir[bmg_crashlog_max][32];
-static char telemetry_dir[bmg_telemetry_max][32];
+static char crashlog_dir[CRASHLOG_MAX][MAX_VSEC_DIR];
+static char telemetry_dir[TELEM_MAX][MAX_VSEC_DIR];
 
 /* telemetry file names */
 static const char *telem = "telem";
@@ -90,7 +114,7 @@ struct crashlog_v2_info {
 	int rearm_fd;
 	int trigger_fd;
 	u_int32_t guid;
-} bmg_info[bmg_crashlog_max];
+} crashlog_info[CRASHLOG_MAX];
 
 #define DEV_PATH_LEN 80
 
@@ -121,17 +145,22 @@ static char *device_sysfs_path(int fd, char *path)
 /*
  * Verify the PMT directory structure
  *
- * BMG PMT directory structure:
+ * BMG/CRI PMT directory structure:
  *   device/intel_vsec.crashlog.x/intel_pmt/crashlog<a,b>
  *   device/intel_vsec.telemetry.x/intel_pmt/telemetry<c,d>
  *
  * Note: different platforms could have a different pattern
  */
-static void test_pmt_directories(int dev_fd)
+static void test_pmt_directories(int dev_fd, enum pmt_device pmt_dev)
 {
 	struct dirent *ent;
-	int index;
+	uint32_t index;
 	DIR *dir;
+	uint32_t max_crashlog;
+	uint32_t max_telem;
+
+	max_crashlog = device_info[pmt_dev].max_crashlog;
+	max_telem = device_info[pmt_dev].max_telem;
 
 	igt_assert(device_sysfs_path(dev_fd, dev_path));
 
@@ -161,7 +190,7 @@ static void test_pmt_directories(int dev_fd)
 	/* find the crashlog<x> directory instances */
 	while ((ent = readdir(dir)) != NULL) {
 		if (strncmp(CRASHLOG_DIR, ent->d_name, sizeof(CRASHLOG_DIR) - 1) == 0) {
-			if (index < bmg_crashlog_max)
+			if (index < max_crashlog)
 				strcpy(crashlog_dir[index], ent->d_name);
 			index++;
 		}
@@ -169,8 +198,9 @@ static void test_pmt_directories(int dev_fd)
 
 	closedir(dir);
 
-	igt_assert_f(index == bmg_crashlog_max, "too many crashlog entries %d\n", index);
-	for (int i = 0; i < ARRAY_SIZE(crashlog_dir); i++)
+	igt_assert_f(index == max_crashlog, "unexpected crashlog entries: %d  vs expected: %d\n",
+		     index, max_crashlog);
+	for (int i = 0; i < max_crashlog && i < ARRAY_SIZE(crashlog_dir); i++)
 		igt_assert_f(strlen(crashlog_dir[i]), "missing crashlog[%d] directory\n", i);
 
 	/* verify telemetry directory structure */
@@ -182,7 +212,7 @@ static void test_pmt_directories(int dev_fd)
 	index = 0;
 	while ((ent = readdir(dir)) != NULL) {
 		if (strncmp(TELEMETRY_DIR, ent->d_name, sizeof(TELEMETRY_DIR) - 1) == 0) {
-			if (index < bmg_telemetry_max)
+			if (index < max_telem)
 				strcpy(telemetry_dir[index], ent->d_name);
 			index++;
 		}
@@ -190,8 +220,9 @@ static void test_pmt_directories(int dev_fd)
 
 	closedir(dir);
 
-	igt_assert_f(index == bmg_telemetry_max, "too many telemetry entries %d\n", index);
-	for (int i = 0; i < ARRAY_SIZE(telemetry_dir); i++)
+	igt_assert_f(index == max_telem, "unexpected telemetry entries: %d  vs expected: %d\n",
+		     index, max_telem);
+	for (int i = 0; i < max_telem && i < ARRAY_SIZE(telemetry_dir); i++)
 		igt_assert_f(strlen(telemetry_dir[i]), "missing telemetry[%d] directory\n", i);
 
 }
@@ -227,11 +258,11 @@ static void open_pmt_file(const char *path, const char *file, int *fd, int flags
 /*
  * verify that the expected telemetry file(s) are in place
  */
-static void test_pmt_telemetry_files(int dev_fd)
+static void test_pmt_telemetry_files(int dev_fd, enum pmt_device pmt_dev)
 {
 	int i;
 
-	for (i = 0; i < bmg_telemetry_max; i++) {
+	for (i = 0; i < device_info[pmt_dev].max_telem; i++) {
 		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
 			"intel_pmt", telemetry_dir[i]);
 		find_pmt_file(work_path, telem);
@@ -241,7 +272,7 @@ static void test_pmt_telemetry_files(int dev_fd)
 /*
  * verify that a read will be successful
  */
-static void test_pmt_telemetry_read_data(int dev_fd)
+static void test_pmt_telemetry_read_data(int dev_fd, enum pmt_device pmt_dev)
 {
 	char buf[64] = {};
 	u_int32_t *val;
@@ -252,7 +283,7 @@ static void test_pmt_telemetry_read_data(int dev_fd)
 	int len;
 	int i;
 
-	for (i = 0; i < bmg_telemetry_max; i++) {
+	for (i = 0; i < device_info[pmt_dev].max_telem; i++) {
 		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
 			"intel_pmt", telemetry_dir[i]);
 		open_pmt_file(work_path, telem, &telem_fd, O_RDONLY);
@@ -278,29 +309,29 @@ static void test_pmt_telemetry_read_data(int dev_fd)
 /*
  * verify that the expected crashlog files are in place
  */
-static void test_pmt_crashlog_files(int dev_fd)
+static void test_pmt_crashlog_files(int dev_fd, enum pmt_device pmt_dev)
 {
 	char buf[64] = {};
 	int ret;
 	int i;
 
-	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
 		sprintf(work_path, "%s/%s/%s/%s", dev_path, crashlog_vsec_dir, "intel_pmt",
 			crashlog_dir[i]);
 
-		open_pmt_file(work_path, clear, &bmg_info[i].clear_fd, O_RDONLY);
-		open_pmt_file(work_path, consumed, &bmg_info[i].consumed_fd, O_RDWR);
-		open_pmt_file(work_path, crashlog, &bmg_info[i].crashlog_fd, O_RDONLY);
-		open_pmt_file(work_path, enable, &bmg_info[i].enable_fd, O_RDWR);
-		open_pmt_file(work_path, error, &bmg_info[i].error_fd, O_RDONLY);
-		open_pmt_file(work_path, dev_guid, &bmg_info[i].guid_fd, O_RDONLY);
-		open_pmt_file(work_path, rearm, &bmg_info[i].rearm_fd, O_RDWR);
-		open_pmt_file(work_path, trigger, &bmg_info[i].trigger_fd, O_RDWR);
+		open_pmt_file(work_path, clear, &crashlog_info[i].clear_fd, O_RDONLY);
+		open_pmt_file(work_path, consumed, &crashlog_info[i].consumed_fd, O_RDWR);
+		open_pmt_file(work_path, crashlog, &crashlog_info[i].crashlog_fd, O_RDONLY);
+		open_pmt_file(work_path, enable, &crashlog_info[i].enable_fd, O_RDWR);
+		open_pmt_file(work_path, error, &crashlog_info[i].error_fd, O_RDONLY);
+		open_pmt_file(work_path, dev_guid, &crashlog_info[i].guid_fd, O_RDONLY);
+		open_pmt_file(work_path, rearm, &crashlog_info[i].rearm_fd, O_RDWR);
+		open_pmt_file(work_path, trigger, &crashlog_info[i].trigger_fd, O_RDWR);
 
-		ret = pread(bmg_info[i].guid_fd, buf, sizeof(buf), 0);
+		ret = pread(crashlog_info[i].guid_fd, buf, sizeof(buf), 0);
 		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
-		bmg_info[i].guid = strtol(buf, NULL, 16);
-		igt_assert_f(bmg_info[i].guid > 0, "failed to set guid for device %d\n", i);
+		crashlog_info[i].guid = strtol(buf, NULL, 16);
+		igt_assert_f(crashlog_info[i].guid > 0, "failed to set guid for device %d\n", i);
 	}
 }
 
@@ -336,15 +367,15 @@ static bool verify_msg(int fd, const char *msg, const char *file) {
 /*
  * Set enable enable/disable bit and verify usage
  */
-static void test_pmt_crashlog_enable(int dev_fd)
+static void test_pmt_crashlog_enable(int dev_fd, enum pmt_device pmt_dev)
 {
 	u_int32_t guid;
 	int fd;
 	int i;
 
-	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
-		fd = bmg_info[i].enable_fd;
-		guid = bmg_info[i].guid;
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
+		fd = crashlog_info[i].enable_fd;
+		guid = crashlog_info[i].guid;
 
 		/* force enable so we are in a known state */
 		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: send enable\n", guid);
@@ -365,14 +396,14 @@ static void test_pmt_crashlog_enable(int dev_fd)
  * The error bit is set when a crashlog fails in HW.  It is read only so only
  * need to verify that it is "0".
  */
-static void test_pmt_crashlog_error(int dev_fd)
+static void test_pmt_crashlog_error(int dev_fd, enum pmt_device pmt_dev)
 {
 	uint32_t guid;
 	int i;
 
-	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
-		guid = bmg_info[i].guid;
-		igt_assert_f(verify_msg(bmg_info[i].error_fd, DISABLE_MSG, error),
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
+		guid = crashlog_info[i].guid;
+		igt_assert_f(verify_msg(crashlog_info[i].error_fd, DISABLE_MSG, error),
 			     "0x%x: error clear\n", guid);
 	}
 }
@@ -381,24 +412,65 @@ static void test_pmt_crashlog_error(int dev_fd)
  * The rearm bit is set at cold boot.  It cannot be reset unless are real crashlog
  * occurs (i.e. setting trigger will not change its value).  Verify that it is "1".
  */
-static void test_pmt_crashlog_rearm(int dev_fd)
+static void test_pmt_crashlog_rearm(int dev_fd, size_t pmt_dev)
 {
 	uint32_t guid;
 	int i;
 
-	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
-		guid = bmg_info[i].guid;
-		igt_assert_f(verify_msg(bmg_info[i].rearm_fd, ENABLE_MSG, rearm),
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
+		guid = crashlog_info[i].guid;
+		igt_assert_f(verify_msg(crashlog_info[i].rearm_fd, ENABLE_MSG, rearm),
 			     "0x%x: rearm set\n", guid);
 	}
 }
 
+/*
+ * Verify the crashlog data is in the initialized state
+ * 0xdeadbeef BMG PUINT/OOBMSM default, CRI PUNIT default
+ * 0xba0b6afe CRI OOBMSM default
+ */
+static void test_pmt_crashlog_inited(int dev_fd, enum pmt_device pmt_dev)
+{
+	char buf[64] = {};
+	u_int32_t guid;
+	int crashlog_fd;
+	int clear_fd;
+	int *val;
+	int len;
+	int i;
+
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
+		clear_fd = crashlog_info[i].clear_fd;
+		crashlog_fd = crashlog_info[i].crashlog_fd;
+		guid = crashlog_info[i].guid;
+
+		/* make sure the bit is clear */
+		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x: verify clear\n", guid);
+
+		len = read(crashlog_fd, buf, sizeof(buf));
+		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
+
+		val = (int *)buf;
+		igt_assert_f(*val == 0xdeadbeef || *val == 0xba0b6afe,
+			     "0x%x: invalid clear data value: : 0x%x\n", guid, *val);
+	}
+}
+
 //#define PMT_CRASHLOG_TRIGGER_ENABLE 1
 #if PMT_CRASHLOG_TRIGGER_ENABLE
+/*
+ * Triggering a Crashlog requires a power cycle to return the device to a usable
+ * state.
+ * This is very disruptive and doesn't necessarily verify much more than the
+ * current set of tests.
+ * Commentting out the trigger, consumed, clear path for "normal" testing.
+ * Compile flag so these tests can be done expclity.
+ */
+
 /*
  * Set the manual trigger bit and make sure the data is not 0xdeadbeef
  */
-static void test_pmt_crashlog_trigger(int dev_fd)
+static void test_pmt_crashlog_trigger(int dev_fd, size_t pmt_dev)
 {
 	char buf[64] = {};
 	u_int32_t *val;
@@ -408,10 +480,10 @@ static void test_pmt_crashlog_trigger(int dev_fd)
 	int len;
 	int i;
 
-	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
-		crashlog_fd = bmg_info[i].crashlog_fd;
-		trigger_fd = bmg_info[i].trigger_fd;
-		guid = bmg_info[i].guid;
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
+		crashlog_fd = crashlog_info[i].crashlog_fd;
+		trigger_fd = crashlog_info[i].trigger_fd;
+		guid = crashlog_info[i].guid;
 
 		/* make sure the bit is clear */
 		igt_assert_f(verify_msg(trigger_fd, DISABLE_MSG, trigger), "0x%x: trigger clear\n",
@@ -431,7 +503,8 @@ static void test_pmt_crashlog_trigger(int dev_fd)
 
 		val = (u_int32_t *)buf;
 
-		igt_assert_f(*val != 0xdeadbeef, "0x%x: invalid trigger value: : 0x%x", guid, *val);
+		igt_assert_f(*val != 0xdeadbeef && *val != 0xba0b6afe,
+			     "0x%x: invalid trigger value: : 0x%x\n", guid, *val);
 	}
 }
 
@@ -439,15 +512,15 @@ static void test_pmt_crashlog_trigger(int dev_fd)
  * After a crashlog has been "consumed" (read), setting this bit can be done.
  * Verify that it is set correctly.
  */
-static void test_pmt_crashlog_consumed(int dev_fd)
+static void test_pmt_crashlog_consumed(int dev_fd, enum pmt_device pmt_dev)
 {
 	uint32_t guid;
 	int fd;
 	int i;
 
-	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
-		fd = bmg_info[i].consumed_fd;
-		guid = bmg_info[i].guid;
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
+		fd = crashlog_info[i].consumed_fd;
+		guid = crashlog_info[i].guid;
 
 		/* check, set, verify */
 		igt_assert_f(verify_msg(fd, DISABLE_MSG, consumed), "0x%x: consumed clear\n", guid);
@@ -460,12 +533,12 @@ static void test_pmt_crashlog_consumed(int dev_fd)
 
 /*
  * Test the clear crashlog bit. After setting the crashlog data buffer should be
- * set to 0xdeadbeef.
+ * set to 0xdeadbeef or 0xba0b6afe.
  * BMG supports writing "1" to the clear file, but writing "0" (DISABLE_MSG) to trigger
  * file is the "standard" usage, so test that usage.
  * This bit cannot be cleared by software (i.e. reboot required).
  */
-static void test_pmt_crashlog_clear(int dev_fd)
+static void test_pmt_crashlog_clear(int dev_fd, enum pmt_device pmt_dev)
 {
 	char buf[64] = {};
 	u_int32_t guid;
@@ -476,11 +549,11 @@ static void test_pmt_crashlog_clear(int dev_fd)
 	int len;
 	int i;
 
-	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
-		clear_fd = bmg_info[i].clear_fd;
-		crashlog_fd = bmg_info[i].crashlog_fd;
-		trigger_fd = bmg_info[i].trigger_fd;
-		guid = bmg_info[i].guid;
+	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
+		clear_fd = crashlog_info[i].clear_fd;
+		crashlog_fd = crashlog_info[i].crashlog_fd;
+		trigger_fd = crashlog_info[i].trigger_fd;
+		guid = crashlog_info[i].guid;
 
 		/* make sure the bit is clear */
 		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x: verify clear\n", guid);
@@ -496,39 +569,45 @@ static void test_pmt_crashlog_clear(int dev_fd)
 		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
 
 		val = (int *)buf;
-		igt_assert_f(*val == 0xdeadbeef, "0x%x: invalid clear data value: : 0x%x", guid, *val);
+		igt_assert_f(*val == 0xdeadbeef || *val == 0xba0b6afe,
+			     "0x%x: invalid clear data value: : 0x%x\n", guid, *val);
 	}
 }
 #endif
 
 /**
- * SUBTEST: pmt-bmg-all
+ * SUBTEST: pmt-api
  * Description:
  *   Because of how the Crashlog Instances behave, these tests are ordered. Do not use them
  *   individually unless you understand the underlying HW behavior.  Because of this behavior,
- *   all of the test will be done in order in one step.
+ *   all of the test will be done in order in one sub-test.
+ *
+ *   Crashlog will cause the GPU to be in an un-useful state.  Reseting to recover
+ *   is not yet fully defined.
  *   NOTE:
+ *     o PMT file info is accumulated from successful tests and is used in sequence
  *     o Testing MUST be done after a cold reset
  *     o Once crashlog is triggered the device behavior is undefined and requires a cold reset
  *
  *  Test category: functionality test
  */
-static void test_pmt_bmg(int fd)
+static void test_pmt_api(int fd, enum pmt_device pmt_dev)
 {
-	test_pmt_directories(fd);
+	test_pmt_directories(fd, pmt_dev);
 
-	test_pmt_telemetry_files(fd);
-	test_pmt_telemetry_read_data(fd);
+	test_pmt_telemetry_files(fd, pmt_dev);
+	test_pmt_telemetry_read_data(fd, pmt_dev);
 
-	test_pmt_crashlog_files(fd);
-	test_pmt_crashlog_error(fd);
-	test_pmt_crashlog_enable(fd);
-	test_pmt_crashlog_rearm(fd);
+	test_pmt_crashlog_files(fd, pmt_dev);
+	test_pmt_crashlog_error(fd, pmt_dev);
+	test_pmt_crashlog_enable(fd, pmt_dev);
+	test_pmt_crashlog_rearm(fd, pmt_dev);
+	test_pmt_crashlog_inited(fd, pmt_dev);
 
 #if PMT_CRASHLOG_TRIGGER_ENABLE
-	test_pmt_crashlog_trigger(fd);
-	test_pmt_crashlog_consumed(fd);
-	test_pmt_crashlog_clear(fd);
+	test_pmt_crashlog_trigger(fd, pmt_dev);
+	test_pmt_crashlog_consumed(fd, pmt_dev);
+	test_pmt_crashlog_clear(fd, pmt_dev);
 #endif
 }
 
@@ -536,25 +615,29 @@ int igt_main()
 {
 	const struct {
 		const char *name;
-		void (*func)(int);
+		void (*func)(int, enum pmt_device);
 	} funcs[] = {
-		{ "pmt-bmg-all", test_pmt_bmg },
+		{ "pmt-api", test_pmt_api },
 		{ }
 	}, *f;
 	int dev_fd;
+	enum pmt_device pmt_dev;
 
 	igt_fixture() {
 		uint16_t dev_id;
 
 		dev_fd = drm_open_driver(DRIVER_XE);
 		dev_id = intel_get_drm_devid(dev_fd);
-		igt_require_f(IS_BATTLEMAGE(dev_id), "PMT supported on BMG GPU\n");
+		igt_require_f(IS_BATTLEMAGE(dev_id) || IS_CRESCENTISLAND(dev_id),
+			      "PMT supported on BMG or CRI GPUs\n");
+
+		pmt_dev = IS_BATTLEMAGE(dev_id) ? PMT_DEVICE_BMG : PMT_DEVICE_CRI;
 	}
 
 	igt_describe("PMT access and API testing");
 	for (f = funcs; f->name; f++) {
 		igt_subtest_f("%s", f->name)
-			f->func(dev_fd);
+			f->func(dev_fd, pmt_dev);
 	}
 
 	igt_fixture()
-- 
2.43.0


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

* ✓ Xe.CI.BAT: success for Support PMT for BMG and CRI devices (rev2)
  2026-10-28 20:05 [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices Michael J. Ruhl
  2026-10-28 20:05 ` [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features Michael J. Ruhl
  2026-10-28 20:05 ` [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT Michael J. Ruhl
@ 2026-10-28 23:18 ` Patchwork
  2026-10-28 23:38 ` ✓ i915.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-10-28 23:18 UTC (permalink / raw)
  To: Michael J. Ruhl; +Cc: igt-dev

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

== Series Details ==

Series: Support PMT for BMG and CRI devices (rev2)
URL   : https://patchwork.freedesktop.org/series/176144/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_9170_BAT -> XEIGTPW_16064_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (15 -> 15)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


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

  * IGT: IGT_9170 -> IGTPW_16064
  * Linux: xe-6022-f00a1fa90fcfdf84b1600e0aca74c965fb86fe76 -> xe-6025-c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1

  IGTPW_16064: 16064
  IGT_9170: 9170
  xe-6022-f00a1fa90fcfdf84b1600e0aca74c965fb86fe76: f00a1fa90fcfdf84b1600e0aca74c965fb86fe76
  xe-6025-c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1: c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1

== Logs ==

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

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

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

* ✓ i915.CI.BAT: success for Support PMT for BMG and CRI devices (rev2)
  2026-10-28 20:05 [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices Michael J. Ruhl
                   ` (2 preceding siblings ...)
  2026-10-28 23:18 ` ✓ Xe.CI.BAT: success for Support PMT for BMG and CRI devices (rev2) Patchwork
@ 2026-10-28 23:38 ` Patchwork
  2026-10-29  8:58 ` ✗ i915.CI.Full: failure " Patchwork
  2026-10-29 12:26 ` ✓ Xe.CI.FULL: success " Patchwork
  5 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-10-28 23:38 UTC (permalink / raw)
  To: Michael J. Ruhl; +Cc: igt-dev

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

== Series Details ==

Series: Support PMT for BMG and CRI devices (rev2)
URL   : https://patchwork.freedesktop.org/series/176144/
State : success

== Summary ==

CI Bug Log - changes from IGT_9170 -> IGTPW_16064
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (40 -> 39)
------------------------------

  Missing    (1): bat-dg2-13 


Changes
-------

  No changes found


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

  * CI: CI-20190529 -> None
  * IGT: IGT_9170 -> IGTPW_16064
  * Linux: CI_DRM_19407 -> CI_DRM_19409

  CI-20190529: 20190529
  CI_DRM_19407: fbed42265ffde9b162e21ed7ff0cfce070e19aaa @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_19409: c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_16064: 16064
  IGT_9170: 9170

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for Support PMT for BMG and CRI devices (rev2)
  2026-10-28 20:05 [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices Michael J. Ruhl
                   ` (3 preceding siblings ...)
  2026-10-28 23:38 ` ✓ i915.CI.BAT: " Patchwork
@ 2026-10-29  8:58 ` Patchwork
  2026-10-29 12:26 ` ✓ Xe.CI.FULL: success " Patchwork
  5 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-10-29  8:58 UTC (permalink / raw)
  To: Michael J. Ruhl; +Cc: igt-dev

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

== Series Details ==

Series: Support PMT for BMG and CRI devices (rev2)
URL   : https://patchwork.freedesktop.org/series/176144/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_19409_full -> IGTPW_16064_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_16064_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_16064_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_16064/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_16064_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_cursor_legacy@cursora-vs-flipa-atomic:
    - shard-glk:          [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-glk5/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk5/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-tglu-1:       NOTRUN -> [ABORT][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-suspend.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@object-reloc-keep-cache:
    - shard-dg2:          NOTRUN -> [SKIP][4] ([i915#8411])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@api_intel_bb@object-reloc-keep-cache.html
    - shard-rkl:          NOTRUN -> [SKIP][5] ([i915#14544] / [i915#8411])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@api_intel_bb@object-reloc-keep-cache.html
    - shard-dg1:          NOTRUN -> [SKIP][6] ([i915#8411])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@api_intel_bb@object-reloc-keep-cache.html

  * igt@device_reset@cold-reset-bound:
    - shard-glk:          NOTRUN -> [SKIP][7] ([i915#17537])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@device_reset@cold-reset-bound.html

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-tglu-1:       NOTRUN -> [SKIP][8] ([i915#11078])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@device_reset@unbind-cold-reset-rebind.html
    - shard-dg1:          NOTRUN -> [SKIP][9] ([i915#11078])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@drm_read@short-buffer-nonblock:
    - shard-dg2:          [PASS][10] -> [SKIP][11] ([i915#17359])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@drm_read@short-buffer-nonblock.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@drm_read@short-buffer-nonblock.html

  * igt@fbdev@read:
    - shard-dg2:          [PASS][12] -> [SKIP][13] ([i915#2582]) +1 other test skip
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@fbdev@read.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@fbdev@read.html
    - shard-dg1:          NOTRUN -> [FAIL][14] ([i915#17720])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@fbdev@read.html

  * igt@gem_bad_reloc@negative-reloc:
    - shard-dg2:          NOTRUN -> [SKIP][15] ([i915#3281]) +2 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@gem_bad_reloc@negative-reloc.html

  * igt@gem_busy@semaphore:
    - shard-mtlp:         NOTRUN -> [SKIP][16] ([i915#3936])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@gem_busy@semaphore.html

  * igt@gem_ccs@block-multicopy-inplace:
    - shard-rkl:          NOTRUN -> [SKIP][17] ([i915#14544] / [i915#3555] / [i915#9323])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_ccs@block-multicopy-inplace.html

  * igt@gem_ccs@ctrl-surf-copy:
    - shard-dg1:          NOTRUN -> [SKIP][18] ([i915#3555] / [i915#9323]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@gem_ccs@ctrl-surf-copy.html
    - shard-glk10:        NOTRUN -> [SKIP][19] ([i915#17499])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_ccs@ctrl-surf-copy.html

  * igt@gem_ccs@ctrl-surf-copy-new-ctx:
    - shard-rkl:          NOTRUN -> [SKIP][20] ([i915#9323])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@gem_ccs@ctrl-surf-copy-new-ctx.html

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

  * igt@gem_create@create-ext-cpu-access-big:
    - shard-dg2:          [PASS][22] -> [FAIL][23] ([i915#15454])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@gem_create@create-ext-cpu-access-big.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@gem_create@create-ext-cpu-access-big.html

  * igt@gem_create@create-ext-set-pat:
    - shard-tglu:         NOTRUN -> [SKIP][24] ([i915#8562])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-7/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_isolation@preservation-s3@bcs0:
    - shard-glk:          NOTRUN -> [INCOMPLETE][25] ([i915#13356] / [i915#16466]) +1 other test incomplete
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk4/igt@gem_ctx_isolation@preservation-s3@bcs0.html

  * igt@gem_ctx_param@set-priority-not-supported:
    - shard-tglu-1:       NOTRUN -> [SKIP][26] ([i915#17444])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@gem_ctx_param@set-priority-not-supported.html
    - shard-dg1:          NOTRUN -> [SKIP][27] ([i915#17444])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@gem_ctx_param@set-priority-not-supported.html

  * igt@gem_ctx_persistence@engines-hang@bcs0:
    - shard-glk10:        NOTRUN -> [SKIP][28] ([i915#17527])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_ctx_persistence@engines-hang@bcs0.html

  * igt@gem_ctx_persistence@hang:
    - shard-glk11:        NOTRUN -> [SKIP][29] ([i915#17527])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@gem_ctx_persistence@hang.html

  * igt@gem_ctx_persistence@heartbeat-hostile:
    - shard-dg2:          NOTRUN -> [SKIP][30] ([i915#8555])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@gem_ctx_persistence@heartbeat-hostile.html

  * igt@gem_ctx_persistence@legacy-engines-hang@blt:
    - shard-glk:          NOTRUN -> [SKIP][31] ([i915#17527])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@gem_ctx_persistence@legacy-engines-hang@blt.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-glk11:        NOTRUN -> [SKIP][32] ([i915#17496])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-tglu:         NOTRUN -> [SKIP][33] ([i915#280]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-rkl:          NOTRUN -> [SKIP][34] ([i915#280])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@gem_ctx_sseu@mmap-args.html
    - shard-dg1:          NOTRUN -> [SKIP][35] ([i915#280])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_eio@suspend:
    - shard-mtlp:         [PASS][36] -> [ABORT][37] ([i915#17146])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-8/igt@gem_eio@suspend.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@gem_eio@suspend.html

  * igt@gem_exec_balancer@bonded-dual:
    - shard-dg1:          NOTRUN -> [SKIP][38] ([i915#4771])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@gem_exec_balancer@bonded-dual.html

  * igt@gem_exec_balancer@invalid-balancer:
    - shard-snb:          NOTRUN -> [SKIP][39] ([i915#17587])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb5/igt@gem_exec_balancer@invalid-balancer.html

  * igt@gem_exec_balancer@invalid-bonds:
    - shard-dg1:          NOTRUN -> [SKIP][40] ([i915#4036])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@gem_exec_balancer@invalid-bonds.html

  * igt@gem_exec_balancer@noheartbeat:
    - shard-dg1:          NOTRUN -> [SKIP][41] ([i915#8555]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@gem_exec_balancer@noheartbeat.html

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-rkl:          NOTRUN -> [SKIP][42] ([i915#4525])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-glk:          NOTRUN -> [SKIP][43] ([i915#17547]) +4 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_balancer@parallel-dmabuf-import-out-fence:
    - shard-rkl:          NOTRUN -> [SKIP][44] ([i915#14544] / [i915#4525])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_exec_balancer@parallel-dmabuf-import-out-fence.html

  * igt@gem_exec_balancer@parallel-keep-in-fence:
    - shard-glk11:        NOTRUN -> [SKIP][45] ([i915#17547]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@gem_exec_balancer@parallel-keep-in-fence.html

  * igt@gem_exec_balancer@parallel-keep-submit-fence:
    - shard-glk10:        NOTRUN -> [SKIP][46] ([i915#17547])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_exec_balancer@parallel-keep-submit-fence.html

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

  * igt@gem_exec_big@single:
    - shard-tglu:         NOTRUN -> [FAIL][48] ([i915#15816])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-7/igt@gem_exec_big@single.html

  * igt@gem_exec_capture@capture@vecs0-lmem0:
    - shard-dg1:          NOTRUN -> [FAIL][49] ([i915#16904]) +2 other tests fail
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@gem_exec_capture@capture@vecs0-lmem0.html

  * igt@gem_exec_endless@dispatch@bcs0:
    - shard-glk:          NOTRUN -> [SKIP][50] ([i915#17571])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk4/igt@gem_exec_endless@dispatch@bcs0.html

  * igt@gem_exec_fence@submit3:
    - shard-mtlp:         NOTRUN -> [SKIP][51] ([i915#4812])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@gem_exec_fence@submit3.html

  * igt@gem_exec_flush@basic-uc-ro-default:
    - shard-dg1:          NOTRUN -> [SKIP][52] ([i915#3539] / [i915#4852]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@gem_exec_flush@basic-uc-ro-default.html

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

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-glk10:        NOTRUN -> [SKIP][54] ([i915#17565])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_exec_params@rsvd2-dirt.html
    - shard-dg1:          NOTRUN -> [SKIP][55] ([i915#17453])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_exec_params@secure-non-master:
    - shard-dg2:          NOTRUN -> [SKIP][56] ([i915#17416])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@gem_exec_params@secure-non-master.html
    - shard-rkl:          NOTRUN -> [SKIP][57] ([i915#17416])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@gem_exec_params@secure-non-master.html
    - shard-dg1:          NOTRUN -> [SKIP][58] ([i915#17416])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@gem_exec_params@secure-non-master.html

  * igt@gem_exec_params@secure-non-root:
    - shard-glk11:        NOTRUN -> [SKIP][59] ([i915#17523])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@gem_exec_params@secure-non-root.html

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

  * igt@gem_exec_reloc@basic-cpu-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][61] ([i915#3281]) +6 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@gem_exec_reloc@basic-cpu-gtt.html

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

  * igt@gem_exec_reloc@basic-write-read-active:
    - shard-dg1:          NOTRUN -> [SKIP][63] ([i915#3281]) +13 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@gem_exec_reloc@basic-write-read-active.html

  * igt@gem_exec_schedule@preempt-other-chain:
    - shard-snb:          NOTRUN -> [SKIP][64] ([i915#17590])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb4/igt@gem_exec_schedule@preempt-other-chain.html

  * igt@gem_exec_schedule@semaphore-power:
    - shard-dg1:          NOTRUN -> [SKIP][65] ([i915#4812]) +3 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@gem_exec_schedule@semaphore-power.html

  * igt@gem_exec_suspend@basic-s0:
    - shard-dg2:          [PASS][66] -> [INCOMPLETE][67] ([i915#13356]) +1 other test incomplete
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@gem_exec_suspend@basic-s0.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@gem_exec_suspend@basic-s0.html
    - shard-rkl:          [PASS][68] -> [INCOMPLETE][69] ([i915#13356]) +1 other test incomplete
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@gem_exec_suspend@basic-s0.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_fence_thrash@bo-write-verify-threaded-none:
    - shard-dg1:          NOTRUN -> [SKIP][70] ([i915#4860]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@gem_fence_thrash@bo-write-verify-threaded-none.html

  * igt@gem_fenced_exec_thrash@no-spare-fences-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][71] ([i915#4860])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@gem_fenced_exec_thrash@no-spare-fences-interruptible.html

  * igt@gem_gtt_cpu_tlb:
    - shard-dg1:          NOTRUN -> [SKIP][72] ([i915#4077]) +7 other tests skip
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@gem_gtt_cpu_tlb.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglu-1:       NOTRUN -> [SKIP][73] ([i915#2190])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_evict@dontneed-evict-race:
    - shard-glk10:        NOTRUN -> [SKIP][74] ([i915#17605])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_lmem_evict@dontneed-evict-race.html

  * igt@gem_lmem_swapping@heavy-random:
    - shard-glk:          NOTRUN -> [SKIP][75] ([i915#17503] / [i915#4613]) +4 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk3/igt@gem_lmem_swapping@heavy-random.html

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

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

  * igt@gem_lmem_swapping@parallel-random-engines:
    - shard-glk10:        NOTRUN -> [SKIP][78] ([i915#17503]) +1 other test skip
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@parallel-random-verify-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][79] ([i915#4613]) +2 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@gem_lmem_swapping@parallel-random-verify-ccs.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-glk11:        NOTRUN -> [SKIP][80] ([i915#17503]) +2 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_madvise@dontneed-before-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][81] ([i915#3282]) +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@gem_madvise@dontneed-before-pwrite.html

  * igt@gem_mmap_gtt@basic-write-cpu-read-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][82] ([i915#4077]) +5 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@gem_mmap_gtt@basic-write-cpu-read-gtt.html
    - shard-glk10:        NOTRUN -> [SKIP][83] ([i915#17572])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_mmap_gtt@basic-write-cpu-read-gtt.html

  * igt@gem_mmap_wc@set-cache-level:
    - shard-dg2:          NOTRUN -> [SKIP][84] ([i915#4083])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@gem_mmap_wc@set-cache-level.html

  * igt@gem_mmap_wc@write-prefaulted:
    - shard-mtlp:         NOTRUN -> [SKIP][85] ([i915#4083])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-8/igt@gem_mmap_wc@write-prefaulted.html

  * igt@gem_mmap_wc@write-read:
    - shard-dg1:          NOTRUN -> [SKIP][86] ([i915#4083]) +5 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@gem_mmap_wc@write-read.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
    - shard-dg1:          NOTRUN -> [SKIP][87] ([i915#3282]) +3 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html

  * igt@gem_pxp@create-protected-buffer:
    - shard-glk:          NOTRUN -> [SKIP][88] ([i915#17521]) +2 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@gem_pxp@create-protected-buffer.html
    - shard-dg2:          NOTRUN -> [SKIP][89] ([i915#4270])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-8/igt@gem_pxp@create-protected-buffer.html

  * igt@gem_pxp@reject-modify-context-protection-off-2:
    - shard-glk10:        NOTRUN -> [SKIP][90] ([i915#17521]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_pxp@reject-modify-context-protection-off-2.html

  * igt@gem_pxp@reject-modify-context-protection-off-3:
    - shard-dg1:          NOTRUN -> [SKIP][91] ([i915#4270]) +1 other test skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@gem_pxp@reject-modify-context-protection-off-3.html

  * igt@gem_pxp@reject-modify-context-protection-on:
    - shard-rkl:          [PASS][92] -> [SKIP][93] ([i915#4270])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-8/igt@gem_pxp@reject-modify-context-protection-on.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@gem_pxp@reject-modify-context-protection-on.html

  * igt@gem_readwrite@beyond-eob:
    - shard-rkl:          NOTRUN -> [SKIP][94] ([i915#14544] / [i915#3282])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_readwrite@beyond-eob.html

  * igt@gem_readwrite@read-write:
    - shard-rkl:          NOTRUN -> [SKIP][95] ([i915#3282]) +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@gem_readwrite@read-write.html

  * igt@gem_render_copy@x-tiled-to-vebox-y-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][96] ([i915#8428])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-7/igt@gem_render_copy@x-tiled-to-vebox-y-tiled.html

  * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs:
    - shard-glk:          NOTRUN -> [SKIP][97] ([i915#17492]) +4 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk2/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs.html

  * igt@gem_render_copy@y-tiled-to-vebox-linear:
    - shard-glk11:        NOTRUN -> [SKIP][98] ([i915#17492]) +1 other test skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@gem_render_copy@y-tiled-to-vebox-linear.html

  * igt@gem_render_copy@yf-tiled-ccs-to-x-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][99] ([i915#5190] / [i915#8428]) +2 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@gem_render_copy@yf-tiled-ccs-to-x-tiled.html

  * igt@gem_render_copy@yf-tiled-to-vebox-y-tiled:
    - shard-glk10:        NOTRUN -> [SKIP][100] ([i915#17492])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gem_render_copy@yf-tiled-to-vebox-y-tiled.html

  * igt@gem_set_tiling_vs_gtt:
    - shard-dg1:          NOTRUN -> [SKIP][101] ([i915#4079]) +1 other test skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@gem_set_tiling_vs_gtt.html

  * igt@gem_softpin@evict-snoop:
    - shard-tglu:         NOTRUN -> [SKIP][102] ([i915#17430])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@gem_softpin@evict-snoop.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-rkl:          NOTRUN -> [SKIP][103] ([i915#17430])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@gem_softpin@evict-snoop-interruptible.html
    - shard-dg1:          NOTRUN -> [SKIP][104] ([i915#4885])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_tiled_blits@basic:
    - shard-dg2:          NOTRUN -> [SKIP][105] ([i915#4077]) +4 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@gem_tiled_blits@basic.html

  * igt@gem_tiled_pread_basic@basic:
    - shard-dg1:          NOTRUN -> [SKIP][106] ([i915#15657])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@gem_tiled_pread_basic@basic.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-dg2:          NOTRUN -> [SKIP][107] ([i915#3297])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-rkl:          NOTRUN -> [SKIP][108] ([i915#3297]) +2 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@gem_userptr_blits@create-destroy-unsync.html
    - shard-mtlp:         NOTRUN -> [SKIP][109] ([i915#3297]) +1 other test skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-dg1:          NOTRUN -> [SKIP][110] ([i915#3297]) +2 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-12/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@invalid-mmap-offset-unsync:
    - shard-tglu-1:       NOTRUN -> [SKIP][111] ([i915#3297])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-dg1:          NOTRUN -> [SKIP][112] ([i915#3297] / [i915#4880])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@gem_userptr_blits@relocations:
    - shard-dg1:          NOTRUN -> [SKIP][113] ([i915#3281] / [i915#3297])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@gem_userptr_blits@relocations.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-glk:          NOTRUN -> [SKIP][114] ([i915#17507]) +1 other test skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@gem_userptr_blits@unsync-unmap-after-close.html
    - shard-tglu:         NOTRUN -> [SKIP][115] ([i915#3297])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@gem_userptr_blits@unsync-unmap-after-close.html

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

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-glk:          NOTRUN -> [INCOMPLETE][118] ([i915#13356] / [i915#14586])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@gem_workarounds@suspend-resume-fd.html

  * igt@gen3_render_linear_blits:
    - shard-glk:          NOTRUN -> [SKIP][119] ([i915#17555])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk5/igt@gen3_render_linear_blits.html

  * igt@gen3_render_tiledy_blits:
    - shard-glk10:        NOTRUN -> [SKIP][120] ([i915#17578])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gen3_render_tiledy_blits.html

  * igt@gen7_exec_parse@basic-rejected:
    - shard-dg2:          NOTRUN -> [SKIP][121] ([i915#17455]) +3 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@gen7_exec_parse@basic-rejected.html
    - shard-rkl:          NOTRUN -> [SKIP][122] ([i915#17455]) +1 other test skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@gen7_exec_parse@basic-rejected.html
    - shard-dg1:          NOTRUN -> [SKIP][123] ([i915#17455]) +5 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-12/igt@gen7_exec_parse@basic-rejected.html

  * igt@gen7_exec_parse@bitmasks:
    - shard-glk11:        NOTRUN -> [SKIP][124] ([i915#17505]) +1 other test skip
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@gen7_exec_parse@bitmasks.html

  * igt@gen7_exec_parse@chained-batch:
    - shard-glk:          NOTRUN -> [SKIP][125] ([i915#17505]) +1 other test skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk4/igt@gen7_exec_parse@chained-batch.html

  * igt@gen7_exec_parse@cmd-crossing-page:
    - shard-glk10:        NOTRUN -> [SKIP][126] ([i915#17505])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@gen7_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          NOTRUN -> [ABORT][127] ([i915#5566])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@batch-zero-length:
    - shard-tglu-1:       NOTRUN -> [SKIP][128] ([i915#2527] / [i915#2856]) +1 other test skip
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@gen9_exec_parse@batch-zero-length.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-glk:          NOTRUN -> [SKIP][129] ([i915#16871]) +1 other test skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@gen9_exec_parse@bb-oversize.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-dg1:          NOTRUN -> [SKIP][130] ([i915#2527]) +3 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@gen9_exec_parse@bb-start-cmd.html
    - shard-tglu:         NOTRUN -> [SKIP][131] ([i915#2527] / [i915#2856]) +4 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-4/igt@gen9_exec_parse@bb-start-cmd.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-rkl:          NOTRUN -> [SKIP][132] ([i915#2527]) +1 other test skip
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@gen9_exec_parse@valid-registers.html
    - shard-mtlp:         NOTRUN -> [SKIP][133] ([i915#2856])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@gen9_exec_parse@valid-registers.html

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

  * igt@i915_drm_fdinfo@most-busy-check-all@vcs1:
    - shard-dg1:          NOTRUN -> [SKIP][135] ([i915#14073]) +5 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@i915_drm_fdinfo@most-busy-check-all@vcs1.html

  * igt@i915_drm_fdinfo@virtual-busy:
    - shard-dg2:          NOTRUN -> [SKIP][136] ([i915#14118])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-8/igt@i915_drm_fdinfo@virtual-busy.html

  * igt@i915_drm_fdinfo@virtual-busy-all:
    - shard-dg1:          NOTRUN -> [SKIP][137] ([i915#14118])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@i915_drm_fdinfo@virtual-busy-all.html

  * igt@i915_fb_tiling@basic-x-tiling:
    - shard-dg1:          NOTRUN -> [SKIP][138] ([i915#13786])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@i915_fb_tiling@basic-x-tiling.html

  * igt@i915_module_load@fault-injection:
    - shard-dg2:          NOTRUN -> [ABORT][139] ([i915#15342] / [i915#15481])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@i915_module_load@fault-injection.html
    - shard-mtlp:         NOTRUN -> [ABORT][140] ([i915#15342] / [i915#15481])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@i915_module_load@fault-injection.html

  * igt@i915_module_load@fault-injection@__uc_init:
    - shard-dg2:          NOTRUN -> [ABORT][141] ([i915#15481])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@i915_module_load@fault-injection@__uc_init.html
    - shard-mtlp:         NOTRUN -> [ABORT][142] ([i915#15481])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@i915_module_load@fault-injection@__uc_init.html

  * igt@i915_module_load@fault-injection@intel_connector_register:
    - shard-snb:          NOTRUN -> [ABORT][143] ([i915#15342]) +1 other test abort
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb7/igt@i915_module_load@fault-injection@intel_connector_register.html
    - shard-tglu:         NOTRUN -> [ABORT][144] ([i915#15342]) +1 other test abort
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@i915_module_load@fault-injection@intel_connector_register.html
    - shard-mtlp:         NOTRUN -> [DMESG-WARN][145] ([i915#15342])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@i915_module_load@fault-injection@intel_connector_register.html
    - shard-dg2:          NOTRUN -> [DMESG-WARN][146] ([i915#15342])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@i915_module_load@fault-injection@intel_connector_register.html

  * igt@i915_module_load@fault-injection@intel_guc_ct_init:
    - shard-snb:          NOTRUN -> [SKIP][147] ([i915#17600]) +4 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb7/igt@i915_module_load@fault-injection@intel_guc_ct_init.html

  * igt@i915_module_load@fault-injection@uc_fw_rsa_data_create:
    - shard-tglu:         NOTRUN -> [SKIP][148] ([i915#15479]) +4 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@i915_module_load@fault-injection@uc_fw_rsa_data_create.html

  * igt@i915_module_load@reload-no-display:
    - shard-mtlp:         [PASS][149] -> [INCOMPLETE][150] ([i915#16978])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-7/igt@i915_module_load@reload-no-display.html
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-8/igt@i915_module_load@reload-no-display.html

  * igt@i915_module_load@resize-bar:
    - shard-tglu-1:       NOTRUN -> [SKIP][151] ([i915#6412])
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_freq_api@freq-reset-multiple:
    - shard-glk:          NOTRUN -> [SKIP][152] ([i915#17526])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@i915_pm_freq_api@freq-reset-multiple.html

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

  * igt@i915_pm_freq_api@freq-suspend@gt1:
    - shard-mtlp:         [PASS][154] -> [FAIL][155] ([i915#17234]) +2 other tests fail
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-7/igt@i915_pm_freq_api@freq-suspend@gt1.html
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-8/igt@i915_pm_freq_api@freq-suspend@gt1.html

  * igt@i915_pm_freq_mult@media-freq:
    - shard-glk:          NOTRUN -> [SKIP][156] ([i915#17699]) +1 other test skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk3/igt@i915_pm_freq_mult@media-freq.html

  * igt@i915_pm_rc6_residency@media-rc6-accuracy:
    - shard-glk:          NOTRUN -> [SKIP][157] ([i915#17541])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@i915_pm_rc6_residency@media-rc6-accuracy.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglu:         NOTRUN -> [WARN][158] ([i915#13790] / [i915#2681]) +1 other test warn
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-rkl:          NOTRUN -> [SKIP][159] ([i915#14498])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@i915_pm_rps@basic-api:
    - shard-dg1:          NOTRUN -> [SKIP][160] ([i915#11681] / [i915#6621]) +1 other test skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@i915_pm_rps@basic-api.html

  * igt@i915_power@sanity:
    - shard-rkl:          NOTRUN -> [SKIP][161] ([i915#7984])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@i915_power@sanity.html

  * igt@i915_query@hwconfig_table:
    - shard-glk:          NOTRUN -> [SKIP][162] ([i915#17584])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@i915_query@hwconfig_table.html
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#6245])
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@i915_query@hwconfig_table.html

  * igt@i915_query@query-topology-known-pci-ids:
    - shard-tglu:         NOTRUN -> [SKIP][164] ([i915#16109])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@i915_query@query-topology-known-pci-ids.html
    - shard-glk:          NOTRUN -> [SKIP][165] ([i915#17574])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@i915_query@query-topology-known-pci-ids.html

  * igt@i915_query@query-topology-unsupported:
    - shard-glk:          NOTRUN -> [SKIP][166] ([i915#17563])
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@i915_query@query-topology-unsupported.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-tglu:         NOTRUN -> [INCOMPLETE][167] ([i915#4817] / [i915#7443])
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-4/igt@i915_suspend@basic-s3-without-i915.html

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

  * igt@i915_suspend@forcewake:
    - shard-mtlp:         [PASS][169] -> [INCOMPLETE][170] ([i915#17182])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-7/igt@i915_suspend@forcewake.html
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-3/igt@i915_suspend@forcewake.html

  * igt@i915_suspend@sysfs-reader:
    - shard-rkl:          [PASS][171] -> [ABORT][172] ([i915#15140])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-8/igt@i915_suspend@sysfs-reader.html
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-1/igt@i915_suspend@sysfs-reader.html

  * igt@intel_hwmon@hwmon-write:
    - shard-glk:          NOTRUN -> [SKIP][173] ([i915#11680]) +1 other test skip
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@intel_hwmon@hwmon-write.html

  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
    - shard-dg1:          NOTRUN -> [SKIP][174] ([i915#4212])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - shard-mtlp:         NOTRUN -> [SKIP][175] ([i915#4212])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-rkl:          NOTRUN -> [SKIP][176] ([i915#12454] / [i915#12712])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-glk10:        NOTRUN -> [SKIP][177] ([i915#17668])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

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

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear:
    - shard-snb:          NOTRUN -> [SKIP][179] ([i915#17562])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb5/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html
    - shard-glk:          NOTRUN -> [SKIP][180] ([i915#17562])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-dg1:          NOTRUN -> [SKIP][181] ([i915#1769] / [i915#3555])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-0:
    - shard-tglu-1:       NOTRUN -> [SKIP][182] ([i915#17432] / [i915#5286]) +4 other tests skip
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-270:
    - shard-glk:          NOTRUN -> [SKIP][183] ([i915#17478]) +9 other tests skip
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][184] ([i915#14544] / [i915#4538] / [i915#5286])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][185] ([i915#4538] / [i915#5286]) +3 other tests skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
    - shard-tglu:         NOTRUN -> [SKIP][186] ([i915#17432] / [i915#5286]) +4 other tests skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-10/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-0:
    - shard-glk11:        NOTRUN -> [SKIP][187] ([i915#17478]) +2 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_big_fb@4-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-glk11:        NOTRUN -> [SKIP][188] ([i915#17556])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_big_fb@4-tiled-addfb.html

  * igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
    - shard-tglu:         NOTRUN -> [SKIP][189] ([i915#5286])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-8/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-mtlp:         [PASS][190] -> [FAIL][191] ([i915#15733] / [i915#5138])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-7/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-async-flip:
    - shard-dg1:          NOTRUN -> [SKIP][192] ([i915#4538] / [i915#5286]) +7 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@linear-64bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][193] ([i915#3638]) +3 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_big_fb@linear-64bpp-rotate-270.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-tglu:         NOTRUN -> [SKIP][194] ([i915#17431]) +1 other test skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-glk10:        NOTRUN -> [SKIP][195] ([i915#17524])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html
    - shard-rkl:          NOTRUN -> [SKIP][196] ([i915#3828])
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-tglu-1:       NOTRUN -> [SKIP][197] ([i915#3828])
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html
    - shard-mtlp:         NOTRUN -> [SKIP][198] ([i915#3828])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html
    - shard-glk:          NOTRUN -> [SKIP][199] ([i915#17524])
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk3/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-270:
    - shard-glk:          NOTRUN -> [SKIP][200] ([i915#17500]) +4 other tests skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-180:
    - shard-dg2:          [PASS][201] -> [SKIP][202] ([i915#17356]) +72 other tests skip
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_big_fb@x-tiled-64bpp-rotate-180.html
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_big_fb@x-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-snb:          NOTRUN -> [SKIP][203] ([i915#17500])
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-glk11:        NOTRUN -> [SKIP][204] ([i915#17500]) +3 other tests skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-glk10:        NOTRUN -> [SKIP][205] ([i915#17500])
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][206] ([i915#4538] / [i915#5190]) +2 other tests skip
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - shard-tglu-1:       NOTRUN -> [SKIP][207] ([i915#17431]) +1 other test skip
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][208] ([i915#17431] / [i915#3638]) +2 other tests skip
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-dg2:          NOTRUN -> [SKIP][209] ([i915#17356] / [i915#5190]) +2 other tests skip
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
    - shard-tglu-1:       NOTRUN -> [SKIP][210] ([i915#17432]) +3 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-0:
    - shard-glk10:        NOTRUN -> [SKIP][211] ([i915#17478]) +3 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_big_fb@yf-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-dg1:          NOTRUN -> [SKIP][212] ([i915#17432])
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-rkl:          NOTRUN -> [SKIP][213] ([i915#17432])
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-rkl:          NOTRUN -> [SKIP][214] ([i915#4538]) +4 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-tglu:         NOTRUN -> [SKIP][215] ([i915#17432]) +4 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-5/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][216] ([i915#4538]) +5 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html
    - shard-snb:          NOTRUN -> [SKIP][217] ([i915#17478]) +2 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html
    - shard-mtlp:         NOTRUN -> [SKIP][218] ([i915#17432]) +3 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-2:
    - shard-glk:          NOTRUN -> [SKIP][219] ([i915#17491]) +80 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc:
    - shard-tglu-1:       NOTRUN -> [SKIP][220] ([i915#6095]) +34 other tests skip
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-glk11:        NOTRUN -> [SKIP][221] ([i915#17525]) +1 other test skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
    - shard-rkl:          NOTRUN -> [SKIP][222] ([i915#12313] / [i915#14544])
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
    - shard-glk11:        NOTRUN -> [SKIP][223] ([i915#17491]) +26 other tests skip
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][224] ([i915#12313])
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
    - shard-rkl:          NOTRUN -> [SKIP][225] ([i915#12313]) +1 other test skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
    - shard-dg1:          NOTRUN -> [SKIP][226] ([i915#12313]) +1 other test skip
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
    - shard-snb:          NOTRUN -> [SKIP][227] ([i915#17594]) +1 other test skip
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb5/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
    - shard-tglu:         NOTRUN -> [SKIP][228] ([i915#12313])
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
    - shard-glk:          NOTRUN -> [SKIP][229] ([i915#17525])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][230] ([i915#10307] / [i915#6095]) +97 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-mc-ccs@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][231] ([i915#6095]) +19 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-mc-ccs@pipe-d-edp-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
    - shard-glk10:        NOTRUN -> [SKIP][232] ([i915#17525])
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
    - shard-glk:          NOTRUN -> [SKIP][233] ([i915#17490] / [i915#17491]) +29 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html

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

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][235] ([i915#6095]) +79 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-10/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1.html

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

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][237] ([i915#12805])
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
    - shard-tglu-1:       NOTRUN -> [SKIP][238] ([i915#12805])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [FAIL][239] ([i915#17158]) +1 other test fail
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-edp-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc:
    - shard-mtlp:         [PASS][240] -> [FAIL][241] ([i915#17158]) +1 other test fail
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-8/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][242] ([i915#4423] / [i915#6095]) +1 other test skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-4.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][243] ([i915#6095]) +7 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-glk:          NOTRUN -> [INCOMPLETE][244] ([i915#13356] / [i915#15582]) +1 other test incomplete
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk2/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][245] ([i915#14098] / [i915#6095]) +38 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][246] ([i915#12313]) +1 other test skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][247] ([i915#6095]) +61 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][248] ([i915#6095]) +184 other tests skip
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-4.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs:
    - shard-glk10:        NOTRUN -> [SKIP][249] ([i915#17490] / [i915#17491]) +7 other tests skip
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2:
    - shard-glk10:        NOTRUN -> [SKIP][250] ([i915#17491]) +19 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][251] ([i915#12313]) +1 other test skip
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-7/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-2:
    - shard-glk11:        NOTRUN -> [SKIP][252] ([i915#17490] / [i915#17491]) +9 other tests skip
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_cdclk@mode-rejected-max-dotclock:
    - shard-dg1:          NOTRUN -> [SKIP][253] ([i915#17099])
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_cdclk@mode-rejected-max-dotclock.html

  * igt@kms_cdclk@mode-transition:
    - shard-glk:          NOTRUN -> [SKIP][254] ([i915#17550])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_cdclk@mode-transition.html
    - shard-rkl:          NOTRUN -> [SKIP][255] ([i915#3742])
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_cdclk@mode-transition.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-tglu-1:       NOTRUN -> [SKIP][256] ([i915#3742])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-glk10:        NOTRUN -> [SKIP][257] ([i915#17550])
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_color@ctm-0-75:
    - shard-tglu:         NOTRUN -> [SKIP][258] ([i915#17427]) +4 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-5/igt@kms_chamelium_color@ctm-0-75.html

  * igt@kms_chamelium_color@ctm-green-to-red:
    - shard-dg2:          NOTRUN -> [SKIP][259] ([i915#17427]) +1 other test skip
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_chamelium_color@ctm-green-to-red.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-glk11:        NOTRUN -> [SKIP][260] ([i915#17489])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_color@ctm-negative:
    - shard-rkl:          NOTRUN -> [SKIP][261] ([i915#17427]) +3 other tests skip
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_chamelium_color@ctm-negative.html

  * igt@kms_chamelium_color@gamma:
    - shard-glk:          NOTRUN -> [SKIP][262] ([i915#17489]) +2 other tests skip
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_chamelium_color@gamma.html

  * igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d:
    - shard-rkl:          NOTRUN -> [SKIP][263] ([i915#14544] / [i915#16471] / [i915#17427])
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lim:
    - shard-glk10:        NOTRUN -> [SKIP][264] ([i915#17497]) +1 other test skip
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lim.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lut1d:
    - shard-tglu-1:       NOTRUN -> [SKIP][265] ([i915#17427]) +1 other test skip
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lut1d.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim:
    - shard-mtlp:         NOTRUN -> [SKIP][266] ([i915#17427])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lut1d:
    - shard-dg1:          NOTRUN -> [SKIP][267] ([i915#17427]) +4 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lut1d.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709:
    - shard-glk11:        NOTRUN -> [SKIP][268] ([i915#17497])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4:
    - shard-dg1:          NOTRUN -> [SKIP][269] ([i915#16471] / [i915#17427])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d:
    - shard-tglu:         NOTRUN -> [SKIP][270] ([i915#16471] / [i915#17427])
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d:
    - shard-glk:          NOTRUN -> [SKIP][271] ([i915#17497]) +7 other tests skip
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d.html

  * igt@kms_chamelium_edid@dp-edid-read:
    - shard-glk10:        NOTRUN -> [SKIP][272] ([i915#17483]) +3 other tests skip
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_chamelium_edid@dp-edid-read.html

  * igt@kms_chamelium_edid@vga-edid-read:
    - shard-rkl:          NOTRUN -> [SKIP][273] ([i915#11151] / [i915#14544] / [i915#7828])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_chamelium_edid@vga-edid-read.html

  * igt@kms_chamelium_frames@dp-crc-single:
    - shard-tglu-1:       NOTRUN -> [SKIP][274] ([i915#11151] / [i915#7828]) +5 other tests skip
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_chamelium_frames@dp-crc-single.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - shard-dg1:          NOTRUN -> [SKIP][275] ([i915#11151] / [i915#7828]) +8 other tests skip
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_chamelium_hpd@dp-hpd-storm:
    - shard-rkl:          NOTRUN -> [SKIP][276] ([i915#11151] / [i915#7828]) +1 other test skip
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_chamelium_hpd@dp-hpd-storm.html
    - shard-mtlp:         NOTRUN -> [SKIP][277] ([i915#11151] / [i915#7828]) +1 other test skip
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_chamelium_hpd@dp-hpd-storm.html

  * igt@kms_chamelium_hpd@hdmi-hpd-fast:
    - shard-glk11:        NOTRUN -> [SKIP][278] ([i915#17483]) +3 other tests skip
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_chamelium_hpd@hdmi-hpd-fast.html

  * igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
    - shard-dg2:          NOTRUN -> [SKIP][279] ([i915#11151] / [i915#7828]) +1 other test skip
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-glk:          NOTRUN -> [SKIP][280] ([i915#17483]) +12 other tests skip
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_chamelium_hpd@vga-hpd-without-ddc:
    - shard-tglu:         NOTRUN -> [SKIP][281] ([i915#11151] / [i915#7828]) +6 other tests skip
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_chamelium_hpd@vga-hpd-without-ddc.html

  * igt@kms_color@background-color:
    - shard-glk10:        NOTRUN -> [FAIL][282] ([i915#17133]) +3 other tests fail
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_color@background-color.html

  * igt@kms_color@ctm-0-25:
    - shard-dg2:          [PASS][283] -> [SKIP][284] ([i915#12655] / [i915#17373]) +2 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_color@ctm-0-25.html
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_color@ctm-0-25.html

  * igt@kms_color@deep-color:
    - shard-dg1:          NOTRUN -> [SKIP][285] ([i915#12655] / [i915#3555])
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_color@deep-color.html

  * igt@kms_color@deep-color@pipe-d-edp-1-gamma:
    - shard-mtlp:         [PASS][286] -> [FAIL][287] ([i915#6892]) +7 other tests fail
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-3/igt@kms_color@deep-color@pipe-d-edp-1-gamma.html
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@kms_color@deep-color@pipe-d-edp-1-gamma.html

  * igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-4:
    - shard-tglu-1:       NOTRUN -> [SKIP][288] ([i915#16990]) +15 other tests skip
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-4.html

  * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lut1d:
    - shard-glk:          NOTRUN -> [SKIP][289] ([i915#17510]) +2 other tests skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lut1d.html

  * igt@kms_color_pipeline@plane-lut1d-ctm3x4:
    - shard-glk10:        NOTRUN -> [SKIP][290] ([i915#17510]) +1 other test skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_color_pipeline@plane-lut1d-ctm3x4.html

  * igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d:
    - shard-dg2:          [PASS][291] -> [SKIP][292] ([i915#15529]) +5 other tests skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d.html
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d.html

  * igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d@pipe-a-plane-4:
    - shard-rkl:          NOTRUN -> [SKIP][293] ([i915#16990]) +5 other tests skip
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d@pipe-a-plane-4.html

  * igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4:
    - shard-glk11:        NOTRUN -> [SKIP][294] ([i915#17510])
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-glk:          NOTRUN -> [SKIP][295] ([i915#17508]) +1 other test skip
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@atomic-hdcp14:
    - shard-tglu-1:       NOTRUN -> [SKIP][296] ([i915#15865]) +1 other test skip
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_content_protection@atomic-hdcp14.html
    - shard-glk10:        NOTRUN -> [SKIP][297] ([i915#17508]) +2 other tests skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_content_protection@atomic-hdcp14.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-mtlp:         NOTRUN -> [SKIP][298] ([i915#15330] / [i915#3299]) +1 other test skip
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-7/igt@kms_content_protection@dp-mst-lic-type-0.html
    - shard-tglu-1:       NOTRUN -> [SKIP][299] ([i915#15330] / [i915#3116] / [i915#3299])
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-glk11:        NOTRUN -> [SKIP][300] ([i915#17502])
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-dg1:          NOTRUN -> [SKIP][301] ([i915#15330] / [i915#3299])
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_content_protection@dp-mst-type-0.html
    - shard-tglu:         NOTRUN -> [SKIP][302] ([i915#15330] / [i915#3116] / [i915#3299])
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-7/igt@kms_content_protection@dp-mst-type-0.html

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

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

  * igt@kms_content_protection@lic-type-0:
    - shard-tglu:         NOTRUN -> [SKIP][306] ([i915#15865]) +3 other tests skip
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-10/igt@kms_content_protection@lic-type-0.html
    - shard-glk11:        NOTRUN -> [SKIP][307] ([i915#17508])
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          NOTRUN -> [SKIP][308] ([i915#15865])
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@type1:
    - shard-dg2:          NOTRUN -> [SKIP][309] ([i915#15865]) +1 other test skip
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_content_protection@type1.html
    - shard-rkl:          NOTRUN -> [SKIP][310] ([i915#15865]) +3 other tests skip
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_content_protection@type1.html

  * igt@kms_content_protection@uevent:
    - shard-mtlp:         NOTRUN -> [SKIP][311] ([i915#15865]) +1 other test skip
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-offscreen-32x32:
    - shard-snb:          NOTRUN -> [SKIP][312] ([i915#17504])
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb1/igt@kms_cursor_crc@cursor-offscreen-32x32.html
    - shard-mtlp:         NOTRUN -> [SKIP][313] ([i915#3555] / [i915#8814])
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@kms_cursor_crc@cursor-offscreen-32x32.html

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

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-glk:          NOTRUN -> [SKIP][315] ([i915#17533]) +1 other test skip
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-onscreen-128x42:
    - shard-rkl:          [PASS][316] -> [FAIL][317] ([i915#13566]) +1 other test fail
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-128x42.html
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-128x42.html

  * igt@kms_cursor_crc@cursor-onscreen-64x21@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [FAIL][318] ([i915#13566])
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-64x21@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-random-32x10:
    - shard-dg1:          NOTRUN -> [SKIP][319] ([i915#3555]) +3 other tests skip
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_cursor_crc@cursor-random-32x10.html

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

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

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-dg2:          NOTRUN -> [SKIP][322] ([i915#17356]) +9 other tests skip
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-glk:          NOTRUN -> [SKIP][323] ([i915#17504]) +1 other test skip
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk3/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

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

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][325] ([i915#13049]) +1 other test skip
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-dg1:          NOTRUN -> [SKIP][326] ([i915#13049]) +1 other test skip
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1:
    - shard-tglu:         [PASS][327] -> [FAIL][328] ([i915#13566]) +1 other test fail
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-tglu-10/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-8/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][329] ([i915#12358] / [i915#13356] / [i915#14152] / [i915#7882])
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@kms_cursor_crc@cursor-suspend.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [INCOMPLETE][330] ([i915#12358] / [i915#13356] / [i915#14152])
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][331] ([i915#13046] / [i915#17454] / [i915#5354]) +1 other test skip
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-8/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
    - shard-mtlp:         NOTRUN -> [SKIP][332] ([i915#17428] / [i915#9809])
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-dg1:          NOTRUN -> [SKIP][333] ([i915#4103]) +1 other test skip
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-rkl:          NOTRUN -> [SKIP][334] ([i915#4103])
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-tglu:         NOTRUN -> [SKIP][335] ([i915#4103])
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-mtlp:         NOTRUN -> [SKIP][336] ([i915#16119] / [i915#4213])
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-glk:          NOTRUN -> [SKIP][337] ([i915#17457])
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][338] ([i915#11190] / [i915#17356]) +1 other test skip
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][339] ([i915#17428] / [i915#17454]) +1 other test skip
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
    - shard-tglu:         NOTRUN -> [SKIP][340] ([i915#17428] / [i915#17454]) +2 other tests skip
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-10/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html

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

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][342] ([i915#4103]) +1 other test skip
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-glk10:        NOTRUN -> [SKIP][343] ([i915#17457])
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-glk:          NOTRUN -> [SKIP][344] ([i915#17515])
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-glk11:        NOTRUN -> [SKIP][345] ([i915#17515])
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
    - shard-tglu:         NOTRUN -> [SKIP][346] ([i915#9723])
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][347] ([i915#3804])
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
    - shard-glk10:        NOTRUN -> [SKIP][348] ([i915#17487])
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
    - shard-glk10:        NOTRUN -> [SKIP][349] ([i915#17486]) +1 other test skip
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html

  * igt@kms_dp_aux_dev@basic:
    - shard-tglu:         NOTRUN -> [SKIP][350] ([i915#1257])
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@kms_dp_aux_dev@basic.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-rkl:          NOTRUN -> [SKIP][351] ([i915#17289])
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_link_training@non-uhbr-sst-tbtalt-train:
    - shard-dg2:          NOTRUN -> [SKIP][352] ([i915#17290])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_dp_link_training@non-uhbr-sst-tbtalt-train.html

  * igt@kms_dp_link_training@uhbr-mst-direct-train:
    - shard-rkl:          NOTRUN -> [SKIP][353] ([i915#17285]) +1 other test skip
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_dp_link_training@uhbr-mst-direct-train.html
    - shard-glk10:        NOTRUN -> [SKIP][354] ([i915#17477])
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_dp_link_training@uhbr-mst-direct-train.html

  * igt@kms_dp_link_training@uhbr-sst-tbtalt-train:
    - shard-glk:          NOTRUN -> [SKIP][355] ([i915#17477])
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html
    - shard-tglu:         NOTRUN -> [SKIP][356] ([i915#17285])
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-4/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-tglu:         NOTRUN -> [SKIP][357] ([i915#13707])
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-8/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dp_linktrain_fallback@uhbr-to-hbr-fallback:
    - shard-glk:          NOTRUN -> [SKIP][358] ([i915#17548])
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_dp_linktrain_fallback@uhbr-to-hbr-fallback.html
    - shard-dg1:          NOTRUN -> [SKIP][359] ([i915#16867])
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_dp_linktrain_fallback@uhbr-to-hbr-fallback.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-tglu:         NOTRUN -> [SKIP][360] ([i915#16361])
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-5/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-fractional-bpp-bigjoiner:
    - shard-glk11:        NOTRUN -> [SKIP][361] ([i915#17458]) +1 other test skip
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_dsc@dsc-fractional-bpp-bigjoiner.html

  * igt@kms_dsc@dsc-with-bpc-bigjoiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][362] ([i915#16361]) +2 other tests skip
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_dsc@dsc-with-bpc-bigjoiner.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-glk:          NOTRUN -> [SKIP][363] ([i915#17458]) +6 other tests skip
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_dsc@dsc-with-bpc-ultrajoiner:
    - shard-glk10:        NOTRUN -> [SKIP][364] ([i915#17458])
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_dsc@dsc-with-bpc-ultrajoiner.html

  * igt@kms_dsc@dsc-with-output-formats-ultrajoiner:
    - shard-dg2:          NOTRUN -> [SKIP][365] ([i915#16361]) +1 other test skip
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_dsc@dsc-with-output-formats-ultrajoiner.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner:
    - shard-rkl:          NOTRUN -> [SKIP][366] ([i915#16361]) +1 other test skip
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner.html
    - shard-dg1:          NOTRUN -> [SKIP][367] ([i915#16361]) +4 other tests skip
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-rkl:          [PASS][368] -> [INCOMPLETE][369] ([i915#9878])
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@kms_fbcon_fbt@fbc-suspend.html
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_fbcon_fbt@fbc-suspend.html

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

  * igt@kms_feature_discovery@chamelium:
    - shard-tglu:         NOTRUN -> [SKIP][371] ([i915#2065])
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_feature_discovery@chamelium.html
    - shard-glk11:        NOTRUN -> [SKIP][372] ([i915#17581])
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-1x:
    - shard-dg2:          [PASS][373] -> [SKIP][374] ([i915#9738])
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_feature_discovery@display-1x.html
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_feature_discovery@display-1x.html

  * igt@kms_feature_discovery@display-2x:
    - shard-rkl:          NOTRUN -> [SKIP][375] ([i915#16081])
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@display-3x:
    - shard-dg2:          NOTRUN -> [SKIP][376] ([i915#16081])
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@display-4x:
    - shard-glk:          NOTRUN -> [SKIP][377] ([i915#17666])
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-dg1:          NOTRUN -> [SKIP][378] ([i915#16599])
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_feature_discovery@dsc:
    - shard-mtlp:         NOTRUN -> [SKIP][379] ([i915#16600])
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@kms_feature_discovery@dsc.html

  * igt@kms_feature_discovery@psr1:
    - shard-dg1:          NOTRUN -> [SKIP][380] ([i915#658])
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_feature_discovery@psr1.html

  * igt@kms_feature_discovery@vrr:
    - shard-glk:          NOTRUN -> [SKIP][381] ([i915#17539]) +1 other test skip
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk4/igt@kms_feature_discovery@vrr.html
    - shard-rkl:          NOTRUN -> [SKIP][382] ([i915#16600]) +1 other test skip
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_feature_discovery@vrr.html

  * igt@kms_flip@2x-absolute-wf_vblank-interruptible:
    - shard-tglu-1:       NOTRUN -> [SKIP][383] ([i915#3637] / [i915#9934]) +4 other tests skip
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@2x-busy-flip:
    - shard-tglu:         NOTRUN -> [SKIP][384] ([i915#3637] / [i915#9934]) +1 other test skip
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_flip@2x-busy-flip.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-mtlp:         NOTRUN -> [SKIP][385] ([i915#3637] / [i915#9934]) +2 other tests skip
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@kms_flip@2x-flip-vs-suspend.html
    - shard-glk10:        NOTRUN -> [INCOMPLETE][386] ([i915#12745] / [i915#13356] / [i915#17183] / [i915#4839]) +1 other test incomplete
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-dg2:          NOTRUN -> [SKIP][387] ([i915#9934]) +6 other tests skip
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_flip@2x-modeset-vs-vblank-race.html
    - shard-rkl:          NOTRUN -> [SKIP][388] ([i915#9934]) +8 other tests skip
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-dg1:          NOTRUN -> [SKIP][389] ([i915#9934]) +5 other tests skip
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-dg2:          [PASS][390] -> [FAIL][391] ([i915#13027])
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a3:
    - shard-dg2:          [PASS][392] -> [FAIL][393] ([i915#15718])
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a3.html
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a3.html

  * igt@kms_flip@flip-vs-fences-interruptible:
    - shard-dg1:          NOTRUN -> [SKIP][394] ([i915#8381])
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_flip@flip-vs-fences-interruptible.html

  * igt@kms_flip@flip-vs-rmfb-interruptible:
    - shard-dg2:          [PASS][395] -> [SKIP][396] ([i915#5354]) +7 other tests skip
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_flip@flip-vs-rmfb-interruptible.html
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_flip@flip-vs-rmfb-interruptible.html

  * igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][397] ([i915#12745] / [i915#13356] / [i915#17183]) +1 other test incomplete
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible@a-edp1:
    - shard-mtlp:         [PASS][398] -> [FAIL][399] ([i915#10826]) +1 other test fail
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-7/igt@kms_flip@modeset-vs-vblank-race-interruptible@a-edp1.html
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@kms_flip@modeset-vs-vblank-race-interruptible@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling:
    - shard-glk11:        NOTRUN -> [SKIP][400] ([i915#17493]) +1 other test skip
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-tglu:         NOTRUN -> [SKIP][401] ([i915#15643]) +3 other tests skip
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
    - shard-glk:          NOTRUN -> [SKIP][402] ([i915#17493])
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][403] ([i915#15643]) +2 other tests skip
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
    - shard-glk10:        NOTRUN -> [SKIP][404] ([i915#17493])
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
    - shard-glk:          NOTRUN -> [SKIP][405] ([i915#17484]) +1 other test skip
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html
    - shard-tglu-1:       NOTRUN -> [SKIP][406] ([i915#15643]) +1 other test skip
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling:
    - shard-dg2:          [PASS][407] -> [SKIP][408] ([i915#3555] / [i915#8813]) +3 other tests skip
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html
    - shard-dg1:          NOTRUN -> [SKIP][409] ([i915#15643]) +2 other tests skip
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html
    - shard-glk10:        NOTRUN -> [SKIP][410] ([i915#17484]) +1 other test skip
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling:
    - shard-glk11:        NOTRUN -> [SKIP][412] ([i915#17522]) +1 other test skip
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling@pipe-a-valid-mode:
    - shard-glk:          NOTRUN -> [SKIP][413] ([i915#17522]) +3 other tests skip
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling@pipe-a-valid-mode.html

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

  * igt@kms_force_connector_basic@force-load-detect:
    - shard-dg2:          NOTRUN -> [SKIP][415] ([i915#17452])
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_force_connector_basic@force-load-detect.html
    - shard-mtlp:         NOTRUN -> [SKIP][416] ([i915#17452])
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt:
    - shard-dg2:          [PASS][417] -> [SKIP][418] ([i915#16708])
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt.html
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2:          [PASS][419] -> [SKIP][420] ([i915#16708] / [i915#5354]) +10 other tests skip
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][421] ([i915#17428] / [i915#1825]) +4 other tests skip
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][422] ([i915#10056] / [i915#13356] / [i915#16593])
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk3/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][423] ([i915#17517]) +31 other tests skip
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-mmap-gtt.html

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

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-move:
    - shard-dg2:          NOTRUN -> [SKIP][425] ([i915#15989]) +4 other tests skip
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-rte:
    - shard-rkl:          NOTRUN -> [SKIP][426] ([i915#17428]) +59 other tests skip
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_frontbuffer_tracking@fbchdr-2p-rte.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][427] ([i915#15991]) +12 other tests skip
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-glk:          [PASS][428] -> [SKIP][429] ([i915#17517])
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-pri-shrfb-draw-blt.html
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-stridechange:
    - shard-dg1:          NOTRUN -> [SKIP][430] ([i915#15989]) +18 other tests skip
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_frontbuffer_tracking@fbchdr-stridechange.html

  * igt@kms_frontbuffer_tracking@fbchdr-tiling-4:
    - shard-glk:          NOTRUN -> [SKIP][431] ([i915#17559])
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_frontbuffer_tracking@fbchdr-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbchdr-tiling-linear:
    - shard-rkl:          [PASS][432] -> [SKIP][433] ([i915#15989]) +9 other tests skip
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][434] ([i915#16708] / [i915#5354]) +9 other tests skip
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw:
    - shard-snb:          NOTRUN -> [SKIP][435] ([i915#17588]) +4 other tests skip
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff:
    - shard-mtlp:         NOTRUN -> [SKIP][436] ([i915#15991] / [i915#17428] / [i915#1825]) +8 other tests skip
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-fullscreen:
    - shard-tglu:         NOTRUN -> [SKIP][437] ([i915#17428]) +81 other tests skip
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][438] ([i915#15990] / [i915#8708])
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt.html

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

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-glk:          NOTRUN -> [SKIP][440] ([i915#17482]) +97 other tests skip
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move:
    - shard-rkl:          NOTRUN -> [SKIP][441] ([i915#14544] / [i915#15102])
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg1:          NOTRUN -> [SKIP][442] ([i915#15102]) +33 other tests skip
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-rkl:          NOTRUN -> [SKIP][443] ([i915#15102]) +37 other tests skip
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-onoff:
    - shard-mtlp:         NOTRUN -> [SKIP][444] ([i915#15991] / [i915#17428]) +16 other tests skip
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-shrfb-fliptrack-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][445] ([i915#16708]) +17 other tests skip
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4:
    - shard-tglu-1:       NOTRUN -> [SKIP][446] ([i915#5439])
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4.html
    - shard-dg1:          NOTRUN -> [SKIP][447] ([i915#5439])
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-4.html

  * igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-indfb-draw-pwrite:
    - shard-tglu-1:       NOTRUN -> [SKIP][448] ([i915#15989]) +13 other tests skip
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][449] ([i915#15990]) +4 other tests skip
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-3/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-mtlp:         NOTRUN -> [SKIP][450] ([i915#15989]) +8 other tests skip
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-blt:
    - shard-tglu:         NOTRUN -> [SKIP][451] ([i915#15989]) +20 other tests skip
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-7/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@hdr-2p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][452] ([i915#15990]) +3 other tests skip
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@hdr-2p-rte:
    - shard-tglu-1:       NOTRUN -> [SKIP][453] ([i915#17428]) +44 other tests skip
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-2p-rte.html

  * igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-spr-indfb-fullscreen:
    - shard-snb:          NOTRUN -> [SKIP][454] ([i915#17517]) +1 other test skip
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb4/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-spr-indfb-fullscreen.html

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

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][456] ([i915#15102]) +11 other tests skip
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][457] ([i915#15104] / [i915#15990]) +3 other tests skip
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move:
    - shard-tglu:         NOTRUN -> [SKIP][458] ([i915#15102]) +38 other tests skip
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff:
    - shard-glk11:        NOTRUN -> [SKIP][459] ([i915#17482]) +43 other tests skip
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][460] ([i915#15990] / [i915#8708]) +3 other tests skip
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt:
    - shard-dg2:          NOTRUN -> [SKIP][461] ([i915#15991] / [i915#5354]) +9 other tests skip
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc:
    - shard-tglu-1:       NOTRUN -> [SKIP][462] ([i915#15102]) +24 other tests skip
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][463] ([i915#15990] / [i915#8708]) +14 other tests skip
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-suspend:
    - shard-mtlp:         [PASS][464] -> [FAIL][465] ([i915#17276])
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-3/igt@kms_frontbuffer_tracking@psr-suspend.html
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_frontbuffer_tracking@psr-suspend.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-indfb-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][466] ([i915#15990]) +23 other tests skip
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-rkl:          NOTRUN -> [SKIP][467] ([i915#14544] / [i915#17428]) +7 other tests skip
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-onoff:
    - shard-dg1:          NOTRUN -> [SKIP][468] ([i915#17428]) +76 other tests skip
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-spr-indfb-draw-mmap-cpu:
    - shard-glk10:        NOTRUN -> [SKIP][469] ([i915#17482]) +35 other tests skip
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psrhdr-rgb565-draw-pwrite:
    - shard-snb:          NOTRUN -> [SKIP][470] ([i915#17482]) +1 other test skip
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb1/igt@kms_frontbuffer_tracking@psrhdr-rgb565-draw-pwrite.html

  * igt@kms_hdmi_audio_bw@audio-bw-hblank160:
    - shard-glk:          NOTRUN -> [FAIL][471] ([i915#17102])
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk5/igt@kms_hdmi_audio_bw@audio-bw-hblank160.html

  * igt@kms_hdmi_audio_bw@audio-bw-hblank80:
    - shard-dg2:          [PASS][472] -> [SKIP][473] ([i915#17357])
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_hdmi_audio_bw@audio-bw-hblank80.html
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_hdmi_audio_bw@audio-bw-hblank80.html

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

  * igt@kms_hdr@invalid-hdr:
    - shard-glk10:        NOTRUN -> [SKIP][475] ([i915#17498])
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_hdr@invalid-hdr.html
    - shard-dg1:          NOTRUN -> [SKIP][476] ([i915#3555] / [i915#8228])
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_hdr@invalid-hdr.html

  * igt@kms_hdr@static-toggle:
    - shard-rkl:          [PASS][477] -> [SKIP][478] ([i915#16644] / [i915#3555] / [i915#8228])
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_hdr@static-toggle.html
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_hdr@static-toggle.html
    - shard-tglu:         NOTRUN -> [SKIP][479] ([i915#3555] / [i915#8228]) +2 other tests skip
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_hdr@static-toggle.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-glk:          NOTRUN -> [SKIP][480] ([i915#17498]) +2 other tests skip
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk4/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_invalid_mode@bad-vsync-end:
    - shard-dg2:          [PASS][481] -> [SKIP][482] ([i915#16746] / [i915#3555]) +3 other tests skip
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_invalid_mode@bad-vsync-end.html
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_invalid_mode@bad-vsync-end.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][483] ([i915#15460])
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][484] ([i915#15458])
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_joiner@basic-force-ultra-joiner.html

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

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-glk10:        NOTRUN -> [SKIP][486] ([i915#17512])
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_joiner@invalid-modeset-big-joiner.html

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

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-dg1:          NOTRUN -> [SKIP][488] ([i915#15458]) +1 other test skip
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][489] ([i915#15458])
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@kms_joiner@invalid-modeset-ultra-joiner.html
    - shard-glk:          NOTRUN -> [SKIP][490] ([i915#17567])
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk1/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_mst@mst-suspend-read-crc:
    - shard-glk:          NOTRUN -> [SKIP][491] ([i915#17579])
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk5/igt@kms_mst@mst-suspend-read-crc.html
    - shard-tglu-1:       NOTRUN -> [SKIP][492] ([i915#16451])
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_mst@mst-suspend-read-crc.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-glk:          NOTRUN -> [SKIP][493] ([i915#17577]) +1 other test skip
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_panel_fitting@atomic-fastset.html
    - shard-rkl:          NOTRUN -> [SKIP][494] ([i915#6301])
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_panel_fitting@legacy:
    - shard-dg1:          NOTRUN -> [SKIP][495] ([i915#6301])
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c:
    - shard-tglu:         NOTRUN -> [SKIP][496] ([i915#17455]) +1 other test skip
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-4/igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - shard-dg2:          [PASS][497] -> [SKIP][498] ([i915#11190] / [i915#17356]) +1 other test skip
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

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

  * igt@kms_pipe_stress@stress-xrgb8888-untiled:
    - shard-glk11:        NOTRUN -> [DMESG-WARN][500] ([i915#118])
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_pipe_stress@stress-xrgb8888-untiled.html

  * igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier:
    - shard-glk:          NOTRUN -> [SKIP][501] ([i915#17479]) +4 other tests skip
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier.html

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

  * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier:
    - shard-dg2:          NOTRUN -> [SKIP][503] ([i915#15709])
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier.html

  * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
    - shard-glk11:        NOTRUN -> [SKIP][504] ([i915#17479]) +1 other test skip
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html

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

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier:
    - shard-dg1:          NOTRUN -> [SKIP][506] ([i915#15709]) +7 other tests skip
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier.html

  * igt@kms_plane@pixel-format-linear-modifier:
    - shard-dg2:          [PASS][507] -> [SKIP][508] ([i915#8825]) +5 other tests skip
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_plane@pixel-format-linear-modifier.html
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane@pixel-format-linear-modifier.html

  * igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5:
    - shard-rkl:          NOTRUN -> [SKIP][509] ([i915#16386]) +1 other test skip
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5.html
    - shard-mtlp:         NOTRUN -> [SKIP][510] ([i915#16386]) +1 other test skip
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5.html

  * igt@kms_plane@pixel-format-y-tiled-ccs-modifier@pipe-a-plane-4:
    - shard-glk10:        NOTRUN -> [SKIP][511] ([i915#17494]) +1 other test skip
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_plane@pixel-format-y-tiled-ccs-modifier@pipe-a-plane-4.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-7:
    - shard-dg1:          NOTRUN -> [SKIP][512] ([i915#16386]) +1 other test skip
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-7.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier@pipe-a-plane-7:
    - shard-tglu-1:       NOTRUN -> [SKIP][513] ([i915#16386]) +3 other tests skip
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier@pipe-a-plane-7.html

  * igt@kms_plane@pixel-format-y-tiled-modifier@pipe-a-plane-4:
    - shard-glk:          NOTRUN -> [SKIP][514] ([i915#17494]) +3 other tests skip
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk5/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-a-plane-4.html

  * igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7:
    - shard-tglu:         NOTRUN -> [SKIP][515] ([i915#16386]) +1 other test skip
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-7/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7.html

  * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier@pipe-a-plane-4:
    - shard-glk11:        NOTRUN -> [SKIP][516] ([i915#17494]) +1 other test skip
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier@pipe-a-plane-4.html

  * igt@kms_plane@pixel-format-yf-tiled-modifier:
    - shard-tglu:         NOTRUN -> [SKIP][517] ([i915#15709]) +2 other tests skip
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-7/igt@kms_plane@pixel-format-yf-tiled-modifier.html

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

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
    - shard-glk:          [PASS][519] -> [INCOMPLETE][520] ([i915#13026] / [i915#13356])
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-glk1/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html

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

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

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-glk10:        NOTRUN -> [SKIP][523] ([i915#17586])
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-rkl:          NOTRUN -> [SKIP][524] ([i915#13958])
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_plane_multiple@2x-tiling-none.html

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

  * igt@kms_plane_multiple@tiling-4:
    - shard-glk11:        NOTRUN -> [SKIP][527] ([i915#17542])
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_plane_multiple@tiling-4.html
    - shard-rkl:          NOTRUN -> [SKIP][528] ([i915#14259] / [i915#14544])
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_plane_multiple@tiling-4.html

  * igt@kms_plane_scaling@invalid-parameters:
    - shard-dg2:          [PASS][529] -> [SKIP][530] ([i915#17356] / [i915#9423])
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_plane_scaling@invalid-parameters.html
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_scaling@invalid-parameters.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation:
    - shard-glk:          NOTRUN -> [SKIP][531] ([i915#17528]) +3 other tests skip
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a:
    - shard-glk:          NOTRUN -> [SKIP][532] ([i915#17529]) +3 other tests skip
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
    - shard-dg1:          NOTRUN -> [SKIP][533] ([i915#15329]) +4 other tests skip
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation:
    - shard-tglu-1:       NOTRUN -> [SKIP][534] ([i915#15329] / [i915#3555])
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
    - shard-tglu-1:       NOTRUN -> [SKIP][535] ([i915#15329]) +8 other tests skip
   [535]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation:
    - shard-dg2:          [PASS][536] -> [SKIP][537] ([i915#15329] / [i915#17356] / [i915#9423]) +4 other tests skip
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation.html
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-b:
    - shard-glk11:        NOTRUN -> [SKIP][538] ([i915#17529]) +1 other test skip
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-b.html

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

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25:
    - shard-mtlp:         NOTRUN -> [SKIP][541] ([i915#15329] / [i915#6953])
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-8/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25.html
    - shard-snb:          NOTRUN -> [SKIP][542] ([i915#17528]) +1 other test skip
   [542]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb6/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-a:
    - shard-snb:          NOTRUN -> [SKIP][543] ([i915#17529])
   [543]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb6/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-a.html

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

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b:
    - shard-dg2:          [PASS][545] -> [SKIP][546] ([i915#15329]) +23 other tests skip
   [545]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
   [546]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html

  * igt@kms_plane_scaling@planes-upscale-20x20:
    - shard-dg2:          [PASS][547] -> [SKIP][548] ([i915#15329] / [i915#17356] / [i915#6953] / [i915#9423]) +1 other test skip
   [547]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_plane_scaling@planes-upscale-20x20.html
   [548]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_scaling@planes-upscale-20x20.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5:
    - shard-dg2:          [PASS][549] -> [SKIP][550] ([i915#15329] / [i915#17356] / [i915#3555] / [i915#6953] / [i915#9423])
   [549]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html
   [550]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-d:
    - shard-dg2:          [PASS][551] -> [SKIP][552] ([i915#15329] / [i915#17356]) +7 other tests skip
   [551]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-d.html
   [552]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-d.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-glk:          NOTRUN -> [SKIP][553] ([i915#17462]) +1 other test skip
   [553]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-tglu-1:       NOTRUN -> [SKIP][554] ([i915#12343])
   [554]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade:
    - shard-tglu:         NOTRUN -> [SKIP][555] ([i915#12343] / [i915#9812])
   [555]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][556] ([i915#12343] / [i915#5354])
   [556]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_pm_backlight@fade-with-suspend.html
    - shard-tglu-1:       NOTRUN -> [SKIP][557] ([i915#12343] / [i915#9812])
   [557]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_pm_backlight@fade-with-suspend.html
    - shard-dg1:          NOTRUN -> [SKIP][558] ([i915#12343] / [i915#5354])
   [558]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-dpms-negative:
    - shard-dg2:          [PASS][559] -> [SKIP][560] ([i915#13441])
   [559]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_pm_dc@dc5-dpms-negative.html
   [560]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_pm_dc@dc5-dpms-negative.html

  * igt@kms_pm_dc@dc5-dpms-suspend-resume:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][561] ([i915#16943])
   [561]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_pm_dc@dc5-dpms-suspend-resume.html
    - shard-mtlp:         [PASS][562] -> [FAIL][563] ([i915#17173])
   [562]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-7/igt@kms_pm_dc@dc5-dpms-suspend-resume.html
   [563]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-5/igt@kms_pm_dc@dc5-dpms-suspend-resume.html

  * igt@kms_pm_dc@dc5-pageflip-negative:
    - shard-dg1:          NOTRUN -> [SKIP][564] ([i915#9685])
   [564]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_pm_dc@dc5-pageflip-negative.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-rkl:          NOTRUN -> [SKIP][565] ([i915#15948])
   [565]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_pm_dc@dc5-psr.html
    - shard-glk10:        NOTRUN -> [SKIP][566] ([i915#17564])
   [566]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-psr-suspend-resume:
    - shard-glk10:        NOTRUN -> [SKIP][567] ([i915#17495])
   [567]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_pm_dc@dc5-psr-suspend-resume.html
    - shard-rkl:          NOTRUN -> [SKIP][568] ([i915#16914])
   [568]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_pm_dc@dc5-psr-suspend-resume.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-tglu:         NOTRUN -> [SKIP][569] ([i915#3828])
   [569]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-8/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-tglu-1:       NOTRUN -> [FAIL][570] ([i915#16479])
   [570]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-glk:          NOTRUN -> [SKIP][571] ([i915#17564])
   [571]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-glk11:        NOTRUN -> [SKIP][572] ([i915#17703])
   [572]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_lpsp@screens-disabled:
    - shard-glk:          NOTRUN -> [SKIP][573] ([i915#17573])
   [573]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_pm_lpsp@screens-disabled.html

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

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

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg2:          [PASS][576] -> [SKIP][577] ([i915#15073]) +2 other tests skip
   [576]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_pm_rpm@modeset-non-lpsp.html
   [577]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_pm_rpm@modeset-non-lpsp.html
    - shard-rkl:          [PASS][578] -> [SKIP][579] ([i915#15073]) +1 other test skip
   [578]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_pm_rpm@modeset-non-lpsp.html
   [579]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-pc8-residency-stress:
    - shard-dg2:          NOTRUN -> [SKIP][580] ([i915#17434] / [i915#17450])
   [580]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_pm_rpm@modeset-pc8-residency-stress.html

  * igt@kms_pm_rpm@package-g7:
    - shard-tglu:         NOTRUN -> [SKIP][581] ([i915#15403])
   [581]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@kms_pm_rpm@package-g7.html
    - shard-dg1:          NOTRUN -> [SKIP][582] ([i915#15403])
   [582]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@kms_pm_rpm@package-g7.html

  * igt@kms_pm_rpm@pc8-residency:
    - shard-glk10:        NOTRUN -> [SKIP][583] ([i915#17710])
   [583]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_pm_rpm@pc8-residency.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-dg2:          [PASS][584] -> [SKIP][585] ([i915#17446] / [i915#3547])
   [584]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_pm_rpm@system-suspend-modeset.html
   [585]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-glk:          NOTRUN -> [SKIP][586] ([i915#17569])
   [586]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_prime@basic-crc-vgem:
    - shard-dg1:          NOTRUN -> [SKIP][587] ([i915#6524])
   [587]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_prime@basic-crc-vgem.html

  * igt@kms_prime@d3hot:
    - shard-glk11:        NOTRUN -> [SKIP][588] ([i915#17569])
   [588]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_prime@d3hot.html
    - shard-tglu:         NOTRUN -> [SKIP][589] ([i915#6524])
   [589]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-2/igt@kms_prime@d3hot.html

  * igt@kms_properties@plane-properties-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][590] ([i915#11521])
   [590]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_properties@plane-properties-atomic.html

  * igt@kms_properties@plane-properties-legacy:
    - shard-dg2:          [PASS][591] -> [SKIP][592] ([i915#11521])
   [591]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_properties@plane-properties-legacy.html
   [592]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_properties@plane-properties-legacy.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf:
    - shard-glk10:        NOTRUN -> [SKIP][593] ([i915#11520]) +2 other tests skip
   [593]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
    - shard-dg2:          NOTRUN -> [SKIP][594] ([i915#11520]) +4 other tests skip
   [594]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html
    - shard-snb:          NOTRUN -> [SKIP][595] ([i915#11520])
   [595]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb7/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html

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

  * igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area:
    - shard-mtlp:         NOTRUN -> [SKIP][597] ([i915#12316]) +3 other tests skip
   [597]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-3/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-cursor-plane-update-sf:
    - shard-tglu:         NOTRUN -> [SKIP][598] ([i915#11520]) +8 other tests skip
   [598]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@kms_psr2_sf@pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb:
    - shard-glk11:        NOTRUN -> [SKIP][599] ([i915#11520]) +3 other tests skip
   [599]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-dg1:          NOTRUN -> [SKIP][600] ([i915#11520]) +4 other tests skip
   [600]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
    - shard-rkl:          NOTRUN -> [SKIP][601] ([i915#11520] / [i915#14544])
   [601]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
    - shard-rkl:          NOTRUN -> [SKIP][602] ([i915#11520]) +8 other tests skip
   [602]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][603] ([i915#11520]) +13 other tests skip
   [603]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk5/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-dg1:          NOTRUN -> [SKIP][604] ([i915#9683])
   [604]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-tglu-1:       NOTRUN -> [SKIP][605] ([i915#9683])
   [605]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-pr-primary-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][606] ([i915#9688]) +4 other tests skip
   [606]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_psr@fbc-pr-primary-blt.html

  * igt@kms_psr@fbc-pr-primary-render:
    - shard-glk11:        NOTRUN -> [SKIP][607] ([i915#17480]) +9 other tests skip
   [607]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_psr@fbc-pr-primary-render.html

  * igt@kms_psr@fbc-pr-sprite-render:
    - shard-dg1:          NOTRUN -> [SKIP][608] ([i915#1072] / [i915#9732]) +24 other tests skip
   [608]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@kms_psr@fbc-pr-sprite-render.html

  * igt@kms_psr@fbc-psr-cursor-render:
    - shard-rkl:          NOTRUN -> [SKIP][609] ([i915#1072] / [i915#14544] / [i915#9732]) +1 other test skip
   [609]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_psr@fbc-psr-cursor-render.html

  * igt@kms_psr@fbc-psr-primary-page-flip:
    - shard-dg2:          NOTRUN -> [SKIP][610] ([i915#1072] / [i915#9732]) +6 other tests skip
   [610]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_psr@fbc-psr-primary-page-flip.html

  * igt@kms_psr@fbc-psr-suspend:
    - shard-glk10:        NOTRUN -> [SKIP][611] ([i915#17480]) +10 other tests skip
   [611]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_psr@fbc-psr-suspend.html

  * igt@kms_psr@fbc-psr2-cursor-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][612] ([i915#17480]) +25 other tests skip
   [612]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html

  * igt@kms_psr@psr-cursor-plane-move:
    - shard-glk11:        NOTRUN -> [SKIP][613] ([i915#17480] / [i915#9732])
   [613]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_psr@psr-primary-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][614] ([i915#17480] / [i915#9732])
   [614]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk3/igt@kms_psr@psr-primary-mmap-gtt.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - shard-tglu-1:       NOTRUN -> [SKIP][615] ([i915#9732]) +9 other tests skip
   [615]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@kms_psr@psr2-cursor-blt:
    - shard-rkl:          NOTRUN -> [SKIP][616] ([i915#1072] / [i915#9732]) +15 other tests skip
   [616]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_psr@psr2-cursor-blt.html

  * igt@kms_psr@psr2-cursor-plane-onoff:
    - shard-tglu:         NOTRUN -> [SKIP][617] ([i915#9732]) +19 other tests skip
   [617]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-10/igt@kms_psr@psr2-cursor-plane-onoff.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-glk:          NOTRUN -> [SKIP][618] ([i915#17554])
   [618]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk3/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@exhaust-fences:
    - shard-dg1:          NOTRUN -> [SKIP][619] ([i915#4884])
   [619]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_rotation_crc@exhaust-fences.html

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

  * igt@kms_rotation_crc@primary-x-tiled-reflect-x-0:
    - shard-glk10:        NOTRUN -> [SKIP][621] ([i915#17488])
   [621]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_rotation_crc@primary-x-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-x-tiled-reflect-x-180:
    - shard-snb:          NOTRUN -> [SKIP][622] ([i915#17488])
   [622]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-snb4/igt@kms_rotation_crc@primary-x-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-270:
    - shard-glk:          NOTRUN -> [SKIP][623] ([i915#17488]) +1 other test skip
   [623]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-glk11:        NOTRUN -> [SKIP][624] ([i915#17488]) +1 other test skip
   [624]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-dg1:          NOTRUN -> [SKIP][625] ([i915#17432] / [i915#5289])
   [625]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-tglu:         NOTRUN -> [SKIP][626] ([i915#17432] / [i915#5289]) +1 other test skip
   [626]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

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

  * igt@kms_scaling_modes@scaling-mode-none:
    - shard-rkl:          NOTRUN -> [SKIP][628] ([i915#14544] / [i915#3555])
   [628]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_scaling_modes@scaling-mode-none.html
    - shard-glk11:        NOTRUN -> [SKIP][629] ([i915#17501])
   [629]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_scaling_modes@scaling-mode-none.html

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

  * igt@kms_setmode@basic-clone-single-crtc:
    - shard-tglu:         NOTRUN -> [SKIP][631] ([i915#3555]) +3 other tests skip
   [631]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-5/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-glk11:        NOTRUN -> [SKIP][632] ([i915#17705])
   [632]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-mtlp:         NOTRUN -> [SKIP][633] ([i915#17445])
   [633]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vrr@flipline:
    - shard-glk10:        NOTRUN -> [SKIP][634] ([i915#17520]) +1 other test skip
   [634]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_vrr@flipline.html

  * igt@kms_vrr@lobf:
    - shard-glk:          NOTRUN -> [SKIP][635] ([i915#17561])
   [635]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_vrr@lobf.html

  * igt@kms_vrr@max-min:
    - shard-rkl:          NOTRUN -> [SKIP][636] ([i915#14544] / [i915#9906])
   [636]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_vrr@max-min.html
    - shard-glk11:        NOTRUN -> [SKIP][637] ([i915#17520])
   [637]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk11/igt@kms_vrr@max-min.html

  * igt@kms_vrr@negative-basic:
    - shard-glk:          NOTRUN -> [SKIP][638] ([i915#17520]) +4 other tests skip
   [638]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk2/igt@kms_vrr@negative-basic.html
    - shard-tglu:         NOTRUN -> [SKIP][639] ([i915#3555] / [i915#9906])
   [639]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-7/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-tglu-1:       NOTRUN -> [SKIP][640] ([i915#9906])
   [640]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-vrr.html
    - shard-dg1:          NOTRUN -> [SKIP][641] ([i915#9906]) +1 other test skip
   [641]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-15/igt@kms_vrr@seamless-rr-switch-vrr.html
    - shard-mtlp:         NOTRUN -> [SKIP][642] ([i915#8808] / [i915#9906])
   [642]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-rkl:          NOTRUN -> [SKIP][643] ([i915#2436])
   [643]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@perf@mi-rpc:
    - shard-dg1:          NOTRUN -> [SKIP][644] ([i915#2434])
   [644]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@perf@mi-rpc.html

  * igt@perf@per-context-mode-unprivileged:
    - shard-tglu-1:       NOTRUN -> [SKIP][645] ([i915#17455])
   [645]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@perf@per-context-mode-unprivileged.html
    - shard-mtlp:         NOTRUN -> [SKIP][646] ([i915#17455])
   [646]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@perf@per-context-mode-unprivileged.html

  * igt@perf_pmu@rc6-all-gts:
    - shard-tglu-1:       NOTRUN -> [SKIP][647] ([i915#8516])
   [647]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@perf_pmu@rc6-all-gts.html

  * igt@perf_pmu@rc6@other-idle-gt0:
    - shard-tglu:         NOTRUN -> [SKIP][648] ([i915#8516])
   [648]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-3/igt@perf_pmu@rc6@other-idle-gt0.html

  * igt@prime_udl@share-import-addfb:
    - shard-tglu:         NOTRUN -> [SKIP][649] ([i915#16420])
   [649]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-8/igt@prime_udl@share-import-addfb.html

  * igt@prime_vgem@basic-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][650] ([i915#3708] / [i915#4077])
   [650]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-18/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@fence-read-hang:
    - shard-dg1:          NOTRUN -> [SKIP][651] ([i915#3708]) +2 other tests skip
   [651]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@prime_vgem@fence-read-hang.html
    - shard-tglu:         NOTRUN -> [SKIP][652] ([i915#17448])
   [652]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@prime_vgem@fence-read-hang.html

  * igt@prime_vgem@fence-write-hang:
    - shard-tglu-1:       NOTRUN -> [SKIP][653] ([i915#17448])
   [653]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-1/igt@prime_vgem@fence-write-hang.html

  
#### Possible fixes ####

  * igt@drm_read@empty-nonblock:
    - shard-dg2:          [SKIP][654] ([i915#17359]) -> [PASS][655]
   [654]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@drm_read@empty-nonblock.html
   [655]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@drm_read@empty-nonblock.html

  * igt@gem_ccs@suspend-resume:
    - shard-dg2:          [INCOMPLETE][656] ([i915#13356] / [i915#16348]) -> [PASS][657] +1 other test pass
   [656]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@gem_ccs@suspend-resume.html
   [657]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@gem_ccs@suspend-resume.html

  * igt@gem_ctx_isolation@preservation-s3@vcs1:
    - shard-mtlp:         [FAIL][658] ([i915#17176]) -> [PASS][659] +1 other test pass
   [658]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-5/igt@gem_ctx_isolation@preservation-s3@vcs1.html
   [659]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@gem_ctx_isolation@preservation-s3@vcs1.html

  * igt@gem_eio@suspend:
    - shard-rkl:          [ABORT][660] ([i915#15131]) -> [PASS][661]
   [660]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-1/igt@gem_eio@suspend.html
   [661]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@gem_eio@suspend.html

  * igt@gem_exec_balancer@individual:
    - shard-mtlp:         [FAIL][662] ([i915#17729]) -> [PASS][663]
   [662]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-4/igt@gem_exec_balancer@individual.html
   [663]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-6/igt@gem_exec_balancer@individual.html

  * igt@i915_module_load@reload-no-display:
    - shard-dg1:          [DMESG-WARN][664] ([i915#13029] / [i915#14545]) -> [PASS][665]
   [664]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-18/igt@i915_module_load@reload-no-display.html
   [665]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@i915_module_load@reload-no-display.html

  * igt@i915_power@sanity:
    - shard-mtlp:         [SKIP][666] ([i915#7984]) -> [PASS][667]
   [666]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-5/igt@i915_power@sanity.html
   [667]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-8/igt@i915_power@sanity.html

  * igt@i915_suspend@forcewake:
    - shard-rkl:          [INCOMPLETE][668] ([i915#4817]) -> [PASS][669] +1 other test pass
   [668]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@i915_suspend@forcewake.html
   [669]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@i915_suspend@forcewake.html

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-mtlp:         [INCOMPLETE][670] ([i915#17037]) -> [PASS][671] +1 other test pass
   [670]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-3/igt@kms_async_flips@async-flip-suspend-resume.html
   [671]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-7/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_async_flips@async-flip-suspend-resume@pipe-b-edp-1:
    - shard-mtlp:         [FAIL][672] ([i915#17150]) -> [PASS][673]
   [672]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-3/igt@kms_async_flips@async-flip-suspend-resume@pipe-b-edp-1.html
   [673]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-7/igt@kms_async_flips@async-flip-suspend-resume@pipe-b-edp-1.html

  * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim:
    - shard-dg2:          [SKIP][674] ([i915#15529]) -> [PASS][675]
   [674]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim.html
   [675]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim.html

  * igt@kms_cursor_crc@cursor-random-128x42:
    - shard-rkl:          [FAIL][676] ([i915#13566]) -> [PASS][677] +3 other tests pass
   [676]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-7/igt@kms_cursor_crc@cursor-random-128x42.html
   [677]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_cursor_crc@cursor-random-128x42.html

  * igt@kms_cursor_crc@cursor-sliding-256x85:
    - shard-tglu:         [FAIL][678] ([i915#13566]) -> [PASS][679] +3 other tests pass
   [678]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-tglu-3/igt@kms_cursor_crc@cursor-sliding-256x85.html
   [679]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-5/igt@kms_cursor_crc@cursor-sliding-256x85.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-dg2:          [SKIP][680] ([i915#5354]) -> [PASS][681] +6 other tests pass
   [680]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_flip@flip-vs-suspend.html
   [681]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-8/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a2:
    - shard-rkl:          [FAIL][682] ([i915#14600]) -> [PASS][683] +1 other test pass
   [682]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-3/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a2.html
   [683]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a2.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling:
    - shard-dg2:          [SKIP][684] ([i915#3555] / [i915#8813]) -> [PASS][685]
   [684]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html
   [685]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-dg2:          [SKIP][686] ([i915#16708] / [i915#5354]) -> [PASS][687]
   [686]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html
   [687]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][688] ([i915#15989]) -> [PASS][689] +3 other tests pass
   [688]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-3/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-wc.html
   [689]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-glk10:        [SKIP][690] ([i915#17517]) -> [PASS][691]
   [690]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-glk10/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [691]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk10/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-mmap-cpu:
    - shard-glk:          [SKIP][692] ([i915#17517]) -> [PASS][693] +9 other tests pass
   [692]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-glk6/igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-mmap-cpu.html
   [693]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk8/igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-mmap-cpu.html

  * igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery:
    - shard-rkl:          [INCOMPLETE][694] ([i915#17110]) -> [PASS][695]
   [694]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery.html
   [695]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-rkl:          [SKIP][696] ([i915#16644] / [i915#3555] / [i915#8228]) -> [PASS][697]
   [696]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-8/igt@kms_hdr@invalid-metadata-sizes.html
   [697]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_invalid_mode@overflow-vrefresh:
    - shard-dg2:          [SKIP][698] ([i915#16746]) -> [PASS][699]
   [698]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_invalid_mode@overflow-vrefresh.html
   [699]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_invalid_mode@overflow-vrefresh.html

  * igt@kms_lease@lease-revoke:
    - shard-dg2:          [SKIP][700] ([i915#17356]) -> [PASS][701] +24 other tests pass
   [700]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_lease@lease-revoke.html
   [701]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_lease@lease-revoke.html

  * igt@kms_pipe_crc_basic@nonblocking-crc:
    - shard-dg2:          [SKIP][702] ([i915#11190] / [i915#17356]) -> [PASS][703]
   [702]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_pipe_crc_basic@nonblocking-crc.html
   [703]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_pipe_crc_basic@nonblocking-crc.html

  * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier:
    - shard-dg2:          [SKIP][704] ([i915#8825]) -> [PASS][705]
   [704]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier.html
   [705]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
    - shard-rkl:          [INCOMPLETE][706] ([i915#14412]) -> [PASS][707] +1 other test pass
   [706]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-7/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
   [707]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers:
    - shard-dg2:          [SKIP][708] ([i915#15329] / [i915#17356] / [i915#3555] / [i915#9423]) -> [PASS][709]
   [708]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers.html
   [709]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-b:
    - shard-dg2:          [SKIP][710] ([i915#15329]) -> [PASS][711] +2 other tests pass
   [710]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-b.html
   [711]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-b.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-d:
    - shard-dg2:          [SKIP][712] ([i915#15329] / [i915#17356]) -> [PASS][713]
   [712]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-d.html
   [713]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-d.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          [SKIP][714] ([i915#15073]) -> [PASS][715]
   [714]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-8/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
   [715]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@i2c:
    - shard-dg1:          [DMESG-WARN][716] ([i915#4423]) -> [PASS][717]
   [716]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-16/igt@kms_pm_rpm@i2c.html
   [717]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-12/igt@kms_pm_rpm@i2c.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-dg2:          [SKIP][718] ([i915#15073]) -> [PASS][719] +2 other tests pass
   [718]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [719]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg1:          [SKIP][720] ([i915#15073]) -> [PASS][721] +2 other tests pass
   [720]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-15/igt@kms_pm_rpm@modeset-non-lpsp.html
   [721]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_properties@crtc-properties-atomic:
    - shard-dg2:          [SKIP][722] ([i915#11521]) -> [PASS][723]
   [722]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_properties@crtc-properties-atomic.html
   [723]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_properties@crtc-properties-atomic.html

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-rkl:          [INCOMPLETE][724] ([i915#12276]) -> [PASS][725]
   [724]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_vblank@ts-continuation-suspend.html
   [725]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_vblank@ts-continuation-suspend.html

  * igt@perf_pmu@busy-double-start@ccs0:
    - shard-mtlp:         [FAIL][726] ([i915#4349]) -> [PASS][727] +2 other tests pass
   [726]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-5/igt@perf_pmu@busy-double-start@ccs0.html
   [727]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-3/igt@perf_pmu@busy-double-start@ccs0.html

  * igt@perf_pmu@rc6-suspend:
    - shard-mtlp:         [FAIL][728] ([i915#17245]) -> [PASS][729]
   [728]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-2/igt@perf_pmu@rc6-suspend.html
   [729]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-4/igt@perf_pmu@rc6-suspend.html

  
#### Warnings ####

  * igt@gem_ccs@large-ctrl-surf-copy:
    - shard-rkl:          [SKIP][730] ([i915#13008]) -> [SKIP][731] ([i915#13008] / [i915#14544])
   [730]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@gem_ccs@large-ctrl-surf-copy.html
   [731]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_ccs@large-ctrl-surf-copy.html

  * igt@gem_ctx_isolation@preservation-s3:
    - shard-mtlp:         [INCOMPLETE][732] ([i915#13356] / [i915#17244]) -> [FAIL][733] ([i915#17176]) +1 other test fail
   [732]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-mtlp-5/igt@gem_ctx_isolation@preservation-s3.html
   [733]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-mtlp-2/igt@gem_ctx_isolation@preservation-s3.html

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-rkl:          [SKIP][734] ([i915#4525]) -> [SKIP][735] ([i915#14544] / [i915#4525])
   [734]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-3/igt@gem_exec_balancer@parallel-balancer.html
   [735]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - shard-rkl:          [SKIP][736] ([i915#14544] / [i915#3711]) -> [SKIP][737] ([i915#3711])
   [736]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html
   [737]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

  * igt@gem_exec_reloc@basic-wc-cpu-active:
    - shard-rkl:          [SKIP][738] ([i915#3281]) -> [SKIP][739] ([i915#14544] / [i915#3281])
   [738]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@gem_exec_reloc@basic-wc-cpu-active.html
   [739]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_exec_reloc@basic-wc-cpu-active.html

  * igt@gem_exec_reloc@basic-write-read-active:
    - shard-rkl:          [SKIP][740] ([i915#14544] / [i915#3281]) -> [SKIP][741] ([i915#3281]) +3 other tests skip
   [740]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-active.html
   [741]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@gem_exec_reloc@basic-write-read-active.html

  * igt@gem_lmem_swapping@parallel-random-verify:
    - shard-rkl:          [SKIP][742] ([i915#4613]) -> [SKIP][743] ([i915#14544] / [i915#4613]) +2 other tests skip
   [742]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-3/igt@gem_lmem_swapping@parallel-random-verify.html
   [743]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_lmem_swapping@parallel-random-verify.html

  * igt@gem_pxp@hw-rejects-pxp-context:
    - shard-rkl:          [SKIP][744] ([i915#13717]) -> [SKIP][745] ([i915#13717] / [i915#14544])
   [744]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@gem_pxp@hw-rejects-pxp-context.html
   [745]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_pxp@hw-rejects-pxp-context.html

  * igt@gem_readwrite@write-bad-handle:
    - shard-rkl:          [SKIP][746] ([i915#3282]) -> [SKIP][747] ([i915#14544] / [i915#3282]) +1 other test skip
   [746]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-5/igt@gem_readwrite@write-bad-handle.html
   [747]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gem_readwrite@write-bad-handle.html

  * igt@gem_set_tiling_vs_blt@tiled-to-tiled:
    - shard-rkl:          [SKIP][748] ([i915#14544] / [i915#8411]) -> [SKIP][749] ([i915#8411])
   [748]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
   [749]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-rkl:          [SKIP][750] ([i915#14544] / [i915#3282]) -> [SKIP][751] ([i915#3282])
   [750]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@gem_set_tiling_vs_pwrite.html
   [751]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@gem_set_tiling_vs_pwrite.html

  * igt@gen3_render_linear_blits:
    - shard-rkl:          [SKIP][752] ([i915#17455]) -> [SKIP][753] ([i915#14544] / [i915#17455]) +2 other tests skip
   [752]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@gen3_render_linear_blits.html
   [753]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@gen3_render_linear_blits.html

  * igt@gen7_exec_parse@basic-offset:
    - shard-rkl:          [SKIP][754] ([i915#14544] / [i915#17455]) -> [SKIP][755] ([i915#17455]) +1 other test skip
   [754]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@gen7_exec_parse@basic-offset.html
   [755]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@gen7_exec_parse@basic-offset.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-rkl:          [SKIP][756] ([i915#14544] / [i915#2527]) -> [SKIP][757] ([i915#2527])
   [756]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@gen9_exec_parse@bb-start-cmd.html
   [757]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@gen9_exec_parse@bb-start-cmd.html

  * igt@i915_pm_freq_api@freq-reset:
    - shard-rkl:          [SKIP][758] ([i915#14544] / [i915#8399]) -> [SKIP][759] ([i915#8399])
   [758]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@i915_pm_freq_api@freq-reset.html
   [759]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@i915_pm_freq_api@freq-reset.html

  * igt@i915_query@query-topology-unsupported:
    - shard-rkl:          [SKIP][760] ([i915#16079]) -> [SKIP][761] ([i915#14544] / [i915#16079])
   [760]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-3/igt@i915_query@query-topology-unsupported.html
   [761]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@i915_query@query-topology-unsupported.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-dg2:          [SKIP][762] ([i915#9531]) -> [SKIP][763] ([i915#17356])
   [762]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
   [763]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-dg2:          [SKIP][764] ([i915#1769] / [i915#3555]) -> [SKIP][765] ([i915#17356])
   [764]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
   [765]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-rkl:          [SKIP][766] ([i915#5286]) -> [SKIP][767] ([i915#14544] / [i915#5286])
   [766]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-3/igt@kms_big_fb@4-tiled-addfb.html
   [767]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_big_fb@4-tiled-addfb.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-rkl:          [SKIP][768] ([i915#14544] / [i915#4538] / [i915#5286]) -> [SKIP][769] ([i915#4538] / [i915#5286]) +1 other test skip
   [768]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [769]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-dg2:          [SKIP][770] ([i915#17356]) -> [SKIP][771] ([i915#17431])
   [770]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_big_fb@linear-8bpp-rotate-270.html
   [771]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2:          [SKIP][772] ([i915#17356]) -> [SKIP][773] ([i915#3828])
   [772]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html
   [773]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-dg2:          [SKIP][774] ([i915#17431]) -> [SKIP][775] ([i915#17356]) +3 other tests skip
   [774]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
   [775]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-dg2:          [SKIP][776] ([i915#4538] / [i915#5190]) -> [SKIP][777] ([i915#17356] / [i915#5190]) +10 other tests skip
   [776]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
   [777]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-90:
    - shard-rkl:          [SKIP][778] ([i915#17431] / [i915#3638]) -> [SKIP][779] ([i915#14544] / [i915#17431] / [i915#3638]) +1 other test skip
   [778]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-5/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
   [779]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - shard-rkl:          [SKIP][780] ([i915#14544] / [i915#17431] / [i915#3638]) -> [SKIP][781] ([i915#17431] / [i915#3638]) +1 other test skip
   [780]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
   [781]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-dg2:          [SKIP][782] ([i915#5190]) -> [SKIP][783] ([i915#17356] / [i915#5190]) +4 other tests skip
   [782]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
   [783]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-rkl:          [SKIP][784] ([i915#4538]) -> [SKIP][785] ([i915#14544] / [i915#4538]) +1 other test skip
   [784]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
   [785]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-dg2:          [SKIP][786] ([i915#17356] / [i915#5190]) -> [SKIP][787] ([i915#4538] / [i915#5190]) +1 other test skip
   [786]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
   [787]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][788] ([i915#6095]) -> [SKIP][789] ([i915#14544] / [i915#6095]) +1 other test skip
   [788]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2.html
   [789]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          [SKIP][790] ([i915#14098] / [i915#6095]) -> [SKIP][791] ([i915#14098] / [i915#14544] / [i915#6095]) +2 other tests skip
   [790]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html
   [791]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs:
    - shard-dg2:          [SKIP][792] ([i915#10307] / [i915#6095]) -> [SKIP][793] ([i915#17356]) +11 other tests skip
   [792]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html
   [793]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc:
    - shard-dg2:          [SKIP][794] ([i915#17356]) -> [SKIP][795] ([i915#10307] / [i915#6095]) +1 other test skip
   [794]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc.html
   [795]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
    - shard-dg2:          [SKIP][796] ([i915#12313]) -> [SKIP][797] ([i915#17356]) +2 other tests skip
   [796]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
   [797]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          [SKIP][798] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][799] ([i915#14098] / [i915#6095]) +8 other tests skip
   [798]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-c-hdmi-a-2.html
   [799]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-rkl:          [SKIP][800] ([i915#12805] / [i915#14544]) -> [SKIP][801] ([i915#12805])
   [800]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [801]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc:
    - shard-dg2:          [SKIP][802] ([i915#6095]) -> [SKIP][803] ([i915#17356]) +2 other tests skip
   [802]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html
   [803]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-rkl:          [SKIP][804] ([i915#12313]) -> [SKIP][805] ([i915#12313] / [i915#14544])
   [804]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-1/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
   [805]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          [SKIP][806] ([i915#14544] / [i915#6095]) -> [SKIP][807] ([i915#6095]) +7 other tests skip
   [806]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-a-hdmi-a-2.html
   [807]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_cdclk@mode-transition:
    - shard-dg2:          [SKIP][808] ([i915#13781]) -> [SKIP][809] ([i915#17356])
   [808]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-4/igt@kms_cdclk@mode-transition.html
   [809]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_cdclk@mode-transition.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709:
    - shard-rkl:          [SKIP][810] ([i915#17427]) -> [SKIP][811] ([i915#14544] / [i915#17427])
   [810]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-8/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709.html
   [811]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim-lut1d:
    - shard-rkl:          [SKIP][812] ([i915#14544] / [i915#17427]) -> [SKIP][813] ([i915#17427])
   [812]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim-lut1d.html
   [813]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lim-lut1d.html

  * igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k:
    - shard-rkl:          [SKIP][814] ([i915#11151] / [i915#7828]) -> [SKIP][815] ([i915#11151] / [i915#14544] / [i915#7828]) +1 other test skip
   [814]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-7/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html
   [815]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-rkl:          [SKIP][816] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][817] ([i915#11151] / [i915#7828]) +2 other tests skip
   [816]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html
   [817]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
    - shard-dg1:          [SKIP][818] ([i915#11151] / [i915#4423] / [i915#7828]) -> [SKIP][819] ([i915#11151] / [i915#7828])
   [818]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-18/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html
   [819]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-16/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html

  * igt@kms_chamelium_hpd@dp-hpd-after-runtime-suspend-d3hot:
    - shard-rkl:          [SKIP][820] ([i915#11151] / [i915#14544]) -> [SKIP][821] ([i915#11151])
   [820]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-after-runtime-suspend-d3hot.html
   [821]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_chamelium_hpd@dp-hpd-after-runtime-suspend-d3hot.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-dg2:          [SKIP][822] ([i915#17356]) -> [SKIP][823] ([i915#15330] / [i915#3299])
   [822]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_content_protection@dp-mst-lic-type-0.html
   [823]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2:          [SKIP][824] ([i915#15330] / [i915#3299]) -> [SKIP][825] ([i915#17356])
   [824]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_content_protection@dp-mst-lic-type-1.html
   [825]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-rkl:          [SKIP][826] ([i915#14544] / [i915#15330] / [i915#3116]) -> [SKIP][827] ([i915#15330] / [i915#3116])
   [826]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_content_protection@dp-mst-type-0.html
   [827]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-dg2:          [SKIP][828] ([i915#15330]) -> [SKIP][829] ([i915#17356])
   [828]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
   [829]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

  * igt@kms_content_protection@lic-type-0:
    - shard-rkl:          [SKIP][830] ([i915#15865]) -> [SKIP][831] ([i915#14544] / [i915#15865])
   [830]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-8/igt@kms_content_protection@lic-type-0.html
   [831]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg2:          [SKIP][832] ([i915#15865]) -> [SKIP][833] ([i915#17356]) +2 other tests skip
   [832]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_content_protection@mei-interface.html
   [833]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-dg2:          [SKIP][834] ([i915#13049]) -> [SKIP][835] ([i915#17356])
   [834]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_cursor_crc@cursor-onscreen-512x512.html
   [835]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-max-size:
    - shard-rkl:          [SKIP][836] ([i915#14544] / [i915#3555]) -> [SKIP][837] ([i915#3555]) +1 other test skip
   [836]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_cursor_crc@cursor-random-max-size.html
   [837]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@kms_cursor_crc@cursor-random-max-size.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-rkl:          [SKIP][838] ([i915#13049] / [i915#14544]) -> [SKIP][839] ([i915#13049])
   [838]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
   [839]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_crc@cursor-sliding-32x10:
    - shard-dg2:          [SKIP][840] ([i915#17356]) -> [SKIP][841] ([i915#3555]) +3 other tests skip
   [840]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_cursor_crc@cursor-sliding-32x10.html
   [841]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_cursor_crc@cursor-sliding-32x10.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-dg2:          [SKIP][842] ([i915#13046] / [i915#17454] / [i915#5354]) -> [SKIP][843] ([i915#17356]) +6 other tests skip
   [842]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
   [843]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-rkl:          [SKIP][844] ([i915#17428]) -> [SKIP][845] ([i915#14544] / [i915#17428]) +28 other tests skip
   [844]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
   [845]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-dg2:          [SKIP][846] ([i915#17356]) -> [SKIP][847] ([i915#13046] / [i915#17454] / [i915#5354]) +1 other test skip
   [846]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
   [847]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-dg2:          [SKIP][848] ([i915#9067]) -> [SKIP][849] ([i915#17356])
   [848]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
   [849]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-dg2:          [SKIP][850] ([i915#4103]) -> [SKIP][851] ([i915#17356])
   [850]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
   [851]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-dg2:          [SKIP][852] ([i915#9833]) -> [SKIP][853] ([i915#17356])
   [852]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
   [853]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-rkl:          [SKIP][854] ([i915#13691]) -> [SKIP][855] ([i915#13691] / [i915#14544])
   [854]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@kms_display_modes@extended-mode-basic.html
   [855]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-dg2:          [SKIP][856] ([i915#17289]) -> [SKIP][857] ([i915#17356])
   [856]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_dp_link_training@non-uhbr-mst.html
   [857]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_link_training@non-uhbr-sst-direct-train:
    - shard-dg2:          [SKIP][858] ([i915#17286]) -> [SKIP][859] ([i915#17356])
   [858]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_dp_link_training@non-uhbr-sst-direct-train.html
   [859]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_dp_link_training@non-uhbr-sst-direct-train.html

  * igt@kms_dp_link_training@uhbr-sst-direct-train:
    - shard-dg1:          [SKIP][860] ([i915#17285]) -> [SKIP][861] ([i915#17285] / [i915#4423])
   [860]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-16/igt@kms_dp_link_training@uhbr-sst-direct-train.html
   [861]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_dp_link_training@uhbr-sst-direct-train.html

  * igt@kms_dp_link_training@uhbr-sst-tbtalt-train:
    - shard-dg2:          [SKIP][862] ([i915#17285]) -> [SKIP][863] ([i915#17356]) +1 other test skip
   [862]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html
   [863]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_dp_link_training@uhbr-sst-tbtalt-train.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-dg2:          [SKIP][864] ([i915#13707]) -> [SKIP][865] ([i915#17356])
   [864]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_dp_linktrain_fallback@dsc-fallback.html
   [865]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-rkl:          [SKIP][866] ([i915#16361]) -> [SKIP][867] ([i915#14544] / [i915#16361])
   [866]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-4/igt@kms_dsc@dsc-with-bpc.html
   [867]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_dsc@dsc-with-output-formats-bigjoiner:
    - shard-dg2:          [SKIP][868] ([i915#17356]) -> [SKIP][869] ([i915#16361])
   [868]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html
   [869]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc-bigjoiner:
    - shard-dg2:          [SKIP][870] ([i915#16361]) -> [SKIP][871] ([i915#17356]) +3 other tests skip
   [870]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_dsc@dsc-with-output-formats-with-bpc-bigjoiner.html
   [871]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_dsc@dsc-with-output-formats-with-bpc-bigjoiner.html

  * igt@kms_fence_pin_leak:
    - shard-dg2:          [SKIP][872] ([i915#17356]) -> [SKIP][873] ([i915#4881])
   [872]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_fence_pin_leak.html
   [873]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_fence_pin_leak.html

  * igt@kms_flip@2x-nonexisting-fb-interruptible:
    - shard-rkl:          [SKIP][874] ([i915#9934]) -> [SKIP][875] ([i915#14544] / [i915#9934])
   [874]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-1/igt@kms_flip@2x-nonexisting-fb-interruptible.html
   [875]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_flip@2x-nonexisting-fb-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-glk:          [INCOMPLETE][876] ([i915#12745] / [i915#13356] / [i915#17183] / [i915#4839] / [i915#6113]) -> [INCOMPLETE][877] ([i915#12745] / [i915#13356] / [i915#17183] / [i915#4839])
   [876]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-glk3/igt@kms_flip@flip-vs-suspend-interruptible.html
   [877]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-glk9/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-rkl:          [SKIP][878] ([i915#14544] / [i915#15643]) -> [SKIP][879] ([i915#15643])
   [878]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
   [879]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-rkl:          [SKIP][880] ([i915#15643]) -> [SKIP][881] ([i915#14544] / [i915#15643]) +1 other test skip
   [880]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
   [881]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-dg2:          [SKIP][882] ([i915#15991] / [i915#5354]) -> [SKIP][883] ([i915#16708] / [i915#5354]) +31 other tests skip
   [882]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html
   [883]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][884] ([i915#14544] / [i915#17428] / [i915#1825]) -> [SKIP][885] ([i915#17428] / [i915#1825]) +2 other tests skip
   [884]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [885]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
    - shard-dg2:          [SKIP][886] ([i915#16708] / [i915#5354]) -> [SKIP][887] ([i915#15991] / [i915#5354]) +14 other tests skip
   [886]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
   [887]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-shrfb-draw-pwrite:
    - shard-dg2:          [SKIP][888] ([i915#15989]) -> [SKIP][889] ([i915#16708]) +19 other tests skip
   [888]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-shrfb-draw-pwrite.html
   [889]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-indfb-pgflip-blt:
    - shard-dg2:          [SKIP][890] ([i915#16708]) -> [SKIP][891] ([i915#15989]) +7 other tests skip
   [890]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-indfb-pgflip-blt.html
   [891]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
    - shard-dg2:          [SKIP][892] ([i915#16708]) -> [SKIP][893] ([i915#15990]) +14 other tests skip
   [892]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html
   [893]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc:
    - shard-dg2:          [SKIP][894] ([i915#15104] / [i915#15990]) -> [SKIP][895] ([i915#16708]) +1 other test skip
   [894]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html
   [895]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt:
    - shard-dg2:          [SKIP][896] ([i915#15102]) -> [SKIP][897] ([i915#16708]) +27 other tests skip
   [896]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
   [897]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-rkl:          [SKIP][898] ([i915#14544] / [i915#15102]) -> [SKIP][899] ([i915#15102]) +5 other tests skip
   [898]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
   [899]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt:
    - shard-dg2:          [SKIP][900] ([i915#16708] / [i915#5354]) -> [SKIP][901] ([i915#15990] / [i915#8708]) +7 other tests skip
   [900]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt.html
   [901]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-rkl:          [SKIP][902] ([i915#14544] / [i915#5439]) -> [SKIP][903] ([i915#5439])
   [902]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
   [903]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2:          [SKIP][904] ([i915#15990]) -> [SKIP][905] ([i915#16708]) +34 other tests skip
   [904]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
   [905]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-onoff:
    - shard-rkl:          [SKIP][906] ([i915#14544] / [i915#17428]) -> [SKIP][907] ([i915#17428]) +27 other tests skip
   [906]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-onoff.html
   [907]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-linear:
    - shard-dg2:          [SKIP][908] ([i915#16708]) -> [SKIP][909] ([i915#15102]) +6 other tests skip
   [908]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-linear.html
   [909]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-linear.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-dg2:          [SKIP][910] ([i915#15102]) -> [SKIP][911] ([i915#16708] / [i915#5354]) +17 other tests skip
   [910]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [911]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2:          [SKIP][912] ([i915#15990] / [i915#8708]) -> [SKIP][913] ([i915#16708] / [i915#5354]) +23 other tests skip
   [912]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [913]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][914] ([i915#17428] / [i915#1825]) -> [SKIP][915] ([i915#14544] / [i915#17428] / [i915#1825]) +3 other tests skip
   [914]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html
   [915]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt:
    - shard-dg1:          [SKIP][916] ([i915#17428] / [i915#4423]) -> [SKIP][917] ([i915#17428])
   [916]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html
   [917]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-render:
    - shard-dg2:          [SKIP][918] ([i915#16708] / [i915#5354]) -> [SKIP][919] ([i915#15102]) +7 other tests skip
   [918]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-render.html
   [919]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-render:
    - shard-dg1:          [SKIP][920] ([i915#15102] / [i915#4423]) -> [SKIP][921] ([i915#15102]) +2 other tests skip
   [920]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-18/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-render.html
   [921]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-rkl:          [SKIP][922] ([i915#15102]) -> [SKIP][923] ([i915#14544] / [i915#15102]) +10 other tests skip
   [922]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-5/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
   [923]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg1:          [SKIP][924] ([i915#15990] / [i915#4423]) -> [SKIP][925] ([i915#15990])
   [924]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-18/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [925]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-14/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-shrfb-draw-pwrite:
    - shard-dg2:          [SKIP][926] ([i915#16708]) -> [SKIP][927] ([i915#15991]) +14 other tests skip
   [926]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-shrfb-draw-pwrite.html
   [927]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-dg2:          [SKIP][928] ([i915#15991]) -> [SKIP][929] ([i915#16708]) +51 other tests skip
   [928]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-blt.html
   [929]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery:
    - shard-tglu:         [FAIL][930] ([i915#17101] / [i915#17108] / [i915#17188]) -> [FAIL][931] ([i915#17188])
   [930]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-tglu-2/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html
   [931]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-8/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-tglu:         [SKIP][932] ([i915#1187] / [i915#12713]) -> [SKIP][933] ([i915#12713])
   [932]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-tglu-2/igt@kms_hdr@brightness-with-hdr.html
   [933]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-tglu-9/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-dg2:          [SKIP][934] ([i915#17356]) -> [SKIP][935] ([i915#16518] / [i915#3555] / [i915#8228]) +1 other test skip
   [934]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_hdr@invalid-metadata-sizes.html
   [935]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-3/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_hdr@static-swap:
    - shard-dg2:          [SKIP][936] ([i915#16518] / [i915#3555] / [i915#8228]) -> [SKIP][937] ([i915#17356]) +1 other test skip
   [936]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_hdr@static-swap.html
   [937]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-rkl:          [INCOMPLETE][938] ([i915#15436]) -> [SKIP][939] ([i915#16644] / [i915#3555] / [i915#8228])
   [938]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_hdr@static-toggle-suspend.html
   [939]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-dg2:          [SKIP][940] ([i915#6301]) -> [SKIP][941] ([i915#17356])
   [940]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-3/igt@kms_panel_fitting@atomic-fastset.html
   [941]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_panel_fitting@legacy:
    - shard-rkl:          [SKIP][942] ([i915#6301]) -> [SKIP][943] ([i915#14544] / [i915#6301])
   [942]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@kms_panel_fitting@legacy.html
   [943]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-dg2:          [SKIP][944] ([i915#17356]) -> [SKIP][945] ([i915#8821])
   [944]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_plane_lowres@tiling-y.html
   [945]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-1/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-dg2:          [SKIP][946] ([i915#13958]) -> [SKIP][947] ([i915#17356]) +1 other test skip
   [946]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_plane_multiple@2x-tiling-4.html
   [947]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-rkl:          [SKIP][948] ([i915#13958] / [i915#14544]) -> [SKIP][949] ([i915#13958])
   [948]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-y.html
   [949]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-5/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-dg2:          [SKIP][950] ([i915#13046] / [i915#17454] / [i915#5354] / [i915#9423]) -> [SKIP][951] ([i915#17356] / [i915#5354] / [i915#9423])
   [950]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-1/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
   [951]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-dg2:          [SKIP][952] ([i915#17356] / [i915#6953] / [i915#9423]) -> [SKIP][953] ([i915#6953] / [i915#9423])
   [952]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_plane_scaling@intel-max-src-size.html
   [953]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-8/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
    - shard-rkl:          [SKIP][954] ([i915#15329]) -> [SKIP][955] ([i915#14544] / [i915#15329]) +3 other tests skip
   [954]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html
   [955]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-rkl:          [SKIP][956] ([i915#15739]) -> [SKIP][957] ([i915#14544] / [i915#15739])
   [956]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-5/igt@kms_pm_dc@dc9-dpms.html
   [957]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_rpm@package-g7:
    - shard-rkl:          [SKIP][958] ([i915#14544] / [i915#15403]) -> [SKIP][959] ([i915#15403])
   [958]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_pm_rpm@package-g7.html
   [959]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_pm_rpm@package-g7.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
    - shard-rkl:          [SKIP][960] ([i915#11520]) -> [SKIP][961] ([i915#11520] / [i915#14544]) +1 other test skip
   [960]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-7/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html
   [961]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
    - shard-rkl:          [SKIP][962] ([i915#11520] / [i915#14544]) -> [SKIP][963] ([i915#11520])
   [962]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html
   [963]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr@fbc-pr-primary-blt:
    - shard-dg1:          [SKIP][964] ([i915#1072] / [i915#9732]) -> [SKIP][965] ([i915#1072] / [i915#4423] / [i915#9732])
   [964]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg1-12/igt@kms_psr@fbc-pr-primary-blt.html
   [965]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg1-19/igt@kms_psr@fbc-pr-primary-blt.html

  * igt@kms_psr@psr-primary-blt:
    - shard-rkl:          [SKIP][966] ([i915#1072] / [i915#9732]) -> [SKIP][967] ([i915#1072] / [i915#14544] / [i915#9732]) +5 other tests skip
   [966]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-8/igt@kms_psr@psr-primary-blt.html
   [967]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_psr@psr-primary-blt.html

  * igt@kms_psr@psr2-primary-mmap-gtt:
    - shard-rkl:          [SKIP][968] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][969] ([i915#1072] / [i915#9732]) +4 other tests skip
   [968]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@kms_psr@psr2-primary-mmap-gtt.html
   [969]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@kms_psr@psr2-primary-mmap-gtt.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-rkl:          [SKIP][970] ([i915#17432] / [i915#5289]) -> [SKIP][971] ([i915#14544] / [i915#17432] / [i915#5289])
   [970]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
   [971]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-dg2:          [SKIP][972] ([i915#17356] / [i915#5190]) -> [SKIP][973] ([i915#12755] / [i915#15867] / [i915#5190])
   [972]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
   [973]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_rotation_crc@sprite-rotation-270:
    - shard-dg2:          [SKIP][974] ([i915#12755] / [i915#15867]) -> [SKIP][975] ([i915#17356])
   [974]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_rotation_crc@sprite-rotation-270.html
   [975]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_rotation_crc@sprite-rotation-270.html

  * igt@kms_scaling_modes@scaling-mode-none:
    - shard-dg2:          [SKIP][976] ([i915#3555]) -> [SKIP][977] ([i915#17356]) +4 other tests skip
   [976]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_scaling_modes@scaling-mode-none.html
   [977]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_scaling_modes@scaling-mode-none.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2:          [SKIP][978] ([i915#8623]) -> [SKIP][979] ([i915#17356])
   [978]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [979]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@flip-basic-fastset:
    - shard-rkl:          [SKIP][980] ([i915#9906]) -> [SKIP][981] ([i915#14544] / [i915#9906])
   [980]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-5/igt@kms_vrr@flip-basic-fastset.html
   [981]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-6/igt@kms_vrr@flip-basic-fastset.html

  * igt@kms_vrr@flipline:
    - shard-dg2:          [SKIP][982] ([i915#15243] / [i915#3555]) -> [SKIP][983] ([i915#17356])
   [982]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-5/igt@kms_vrr@flipline.html
   [983]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_vrr@flipline.html

  * igt@kms_vrr@negative-basic:
    - shard-dg2:          [SKIP][984] ([i915#17356]) -> [SKIP][985] ([i915#3555] / [i915#9906])
   [984]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_vrr@negative-basic.html
   [985]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-4/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-dg2:          [SKIP][986] ([i915#9906]) -> [SKIP][987] ([i915#17356])
   [986]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-6/igt@kms_vrr@seamless-rr-switch-virtual.html
   [987]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-7/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-dg2:          [SKIP][988] ([i915#17356]) -> [SKIP][989] ([i915#9906])
   [988]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-dg2-7/igt@kms_vrr@seamless-rr-switch-vrr.html
   [989]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-dg2-6/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@prime_vgem@fence-read-hang:
    - shard-rkl:          [SKIP][990] ([i915#14544] / [i915#17448] / [i915#3708]) -> [SKIP][991] ([i915#17448] / [i915#3708])
   [990]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@prime_vgem@fence-read-hang.html
   [991]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-2/igt@prime_vgem@fence-read-hang.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-rkl:          [SKIP][992] ([i915#14544] / [i915#17447]) -> [SKIP][993] ([i915#17447])
   [992]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19409/shard-rkl-6/igt@tools_test@sysfs_l3_parity.html
   [993]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_16064/shard-rkl-4/igt@tools_test@sysfs_l3_parity.html

  
  [i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055
  [i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#10826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10826
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11521
  [i915#11527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11527
  [i915#11680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11680
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118
  [i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
  [i915#12178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12178
  [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#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
  [i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
  [i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
  [i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
  [i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008
  [i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
  [i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
  [i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
  [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#13441]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13441
  [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#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
  [i915#13786]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13786
  [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
  [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#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
  [i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14412
  [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
  [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#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
  [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
  [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
  [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
  [i915#15140]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15140
  [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
  [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#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403
  [i915#15436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15436
  [i915#15454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15454
  [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#15479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15479
  [i915#15481]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15481
  [i915#15529]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15529
  [i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
  [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
  [i915#15657]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15657
  [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#15739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15739
  [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#15948]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15948
  [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#16079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16079
  [i915#16081]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16081
  [i915#16109]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16109
  [i915#16119]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16119
  [i915#16182]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16182
  [i915#16348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16348
  [i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361
  [i915#16386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16386
  [i915#16420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16420
  [i915#16451]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16451
  [i915#16466]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16466
  [i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471
  [i915#16479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16479
  [i915#16518]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16518
  [i915#16593]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16593
  [i915#16599]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16599
  [i915#16600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16600
  [i915#16644]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16644
  [i915#16680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16680
  [i915#16708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16708
  [i915#16746]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16746
  [i915#16867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16867
  [i915#16871]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16871
  [i915#16904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16904
  [i915#16914]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16914
  [i915#16943]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16943
  [i915#16978]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16978
  [i915#16990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16990
  [i915#17037]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17037
  [i915#17099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17099
  [i915#17101]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17101
  [i915#17102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17102
  [i915#17108]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17108
  [i915#17110]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17110
  [i915#17133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17133
  [i915#17146]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17146
  [i915#17150]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17150
  [i915#17158]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17158
  [i915#17173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17173
  [i915#17176]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17176
  [i915#17182]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17182
  [i915#17183]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17183
  [i915#17188]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17188
  [i915#17234]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17234
  [i915#17244]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17244
  [i915#17245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17245
  [i915#17276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17276
  [i915#17285]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17285
  [i915#17286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17286
  [i915#17289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17289
  [i915#17290]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17290
  [i915#17356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17356
  [i915#17357]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17357
  [i915#17359]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17359
  [i915#17373]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17373
  [i915#17416]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17416
  [i915#17427]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17427
  [i915#17428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17428
  [i915#17430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17430
  [i915#17431]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17431
  [i915#17432]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17432
  [i915#17434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17434
  [i915#17444]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17444
  [i915#17445]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17445
  [i915#17446]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17446
  [i915#17447]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17447
  [i915#17448]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17448
  [i915#17450]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17450
  [i915#17452]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17452
  [i915#17453]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17453
  [i915#17454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17454
  [i915#17455]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17455
  [i915#17457]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17457
  [i915#17458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17458
  [i915#17462]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17462
  [i915#17477]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17477
  [i915#17478]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17478
  [i915#17479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17479
  [i915#17480]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17480
  [i915#17482]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17482
  [i915#17483]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17483
  [i915#17484]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17484
  [i915#17486]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17486
  [i915#17487]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17487
  [i915#17488]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17488
  [i915#17489]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17489
  [i915#17490]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17490
  [i915#17491]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17491
  [i915#17492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17492
  [i915#17493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17493
  [i915#17494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17494
  [i915#17495]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17495
  [i915#17496]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17496
  [i915#17497]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17497
  [i915#17498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17498
  [i915#17499]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17499
  [i915#17500]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17500
  [i915#17501]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17501
  [i915#17502]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17502
  [i915#17503]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17503
  [i915#17504]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17504
  [i915#17505]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17505
  [i915#17507]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17507
  [i915#17508]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17508
  [i915#17510]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17510
  [i915#17512]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17512
  [i915#17515]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17515
  [i915#17517]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17517
  [i915#17520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17520
  [i915#17521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17521
  [i915#17522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17522
  [i915#17523]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17523
  [i915#17524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17524
  [i915#17525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17525
  [i915#17526]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17526
  [i915#17527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17527
  [i915#17528]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17528
  [i915#17529]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17529
  [i915#17533]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17533
  [i915#17537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17537
  [i915#17539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17539
  [i915#17541]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17541
  [i915#17542]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17542
  [i915#17547]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17547
  [i915#17548]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17548
  [i915#17550]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17550
  [i915#17554]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17554
  [i915#17555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17555
  [i915#17556]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17556
  [i915#17559]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17559
  [i915#17561]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17561
  [i915#17562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17562
  [i915#17563]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17563
  [i915#17564]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17564
  [i915#17565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17565
  [i915#17567]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17567
  [i915#17569]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17569
  [i915#17571]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17571
  [i915#17572]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17572
  [i915#17573]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17573
  [i915#17574]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17574
  [i915#17577]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17577
  [i915#17578]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17578
  [i915#17579]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17579
  [i915#17581]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17581
  [i915#17584]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17584
  [i915#17586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17586
  [i915#17587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17587
  [i915#17588]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17588
  [i915#17590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17590
  [i915#17594]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17594
  [i915#17600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17600
  [i915#17605]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17605
  [i915#17666]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17666
  [i915#17668]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17668
  [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
  [i915#17699]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17699
  [i915#17703]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17703
  [i915#17705]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17705
  [i915#17710]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17710
  [i915#17720]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17720
  [i915#17729]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17729
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#2065]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2065
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
  [i915#2436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2436
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
  [i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [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#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3547]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3547
  [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#3711]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3711
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3936]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3936
  [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#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
  [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#4881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4881
  [i915#4884]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4884
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [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#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
  [i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#6892]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6892
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862
  [i915#7882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7882
  [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
  [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#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
  [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821
  [i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [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#9738]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9738
  [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9833]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9833
  [i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


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

  * CI: CI-20190529 -> None
  * IGT: IGT_9170 -> IGTPW_16064
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_19409: c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_16064: 16064
  IGT_9170: 9170
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* ✓ Xe.CI.FULL: success for Support PMT for BMG and CRI devices (rev2)
  2026-10-28 20:05 [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices Michael J. Ruhl
                   ` (4 preceding siblings ...)
  2026-10-29  8:58 ` ✗ i915.CI.Full: failure " Patchwork
@ 2026-10-29 12:26 ` Patchwork
  5 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2026-10-29 12:26 UTC (permalink / raw)
  To: Michael J. Ruhl; +Cc: igt-dev

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

== Series Details ==

Series: Support PMT for BMG and CRI devices (rev2)
URL   : https://patchwork.freedesktop.org/series/176144/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_9170_FULL -> XEIGTPW_16064_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (3 -> 3)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@hotrebind-with-load:
    - shard-bmg:          [PASS][1] -> [ABORT][2] ([Intel XE#9463])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-2/igt@core_hotunplug@hotrebind-with-load.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-8/igt@core_hotunplug@hotrebind-with-load.html

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

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][4] ([Intel XE#610] / [Intel XE#7387])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-3/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][5] ([Intel XE#1124]) +2 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#2328] / [Intel XE#7367])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-8/igt@kms_big_fb@yf-tiled-addfb.html

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

  * igt@kms_bw@linear-tiling-4-displays-target-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][8] ([Intel XE#367]) +2 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@kms_bw@linear-tiling-4-displays-target-2560x1440p.html

  * igt@kms_bw@linear-tiling-4-displays-target-3840x2160p:
    - shard-lnl:          NOTRUN -> [SKIP][9] ([Intel XE#8365])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_bw@linear-tiling-4-displays-target-3840x2160p.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][10] ([Intel XE#2887]) +2 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#2887]) +5 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-9/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#3432])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2652]) +8 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#7008])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-5/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_audio@hdmi-audio-after-suspend:
    - shard-lnl:          NOTRUN -> [SKIP][15] ([Intel XE#2252])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-5/igt@kms_chamelium_audio@hdmi-audio-after-suspend.html

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

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lut1d:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#7358]) +2 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-4/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lut1d.html

  * igt@kms_chamelium_color_pipeline@plane-lut3d-green-only:
    - shard-lnl:          NOTRUN -> [SKIP][18] ([Intel XE#7358])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-4/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html

  * igt@kms_chamelium_frames@hdmi-aspect-ratio:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#2252]) +2 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-5/igt@kms_chamelium_frames@hdmi-aspect-ratio.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-lnl:          NOTRUN -> [SKIP][20] ([Intel XE#373]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-b-plane-4:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#6969]) +7 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-b-plane-4.html

  * igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][22] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-2/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html

  * igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
    - shard-lnl:          NOTRUN -> [SKIP][23] ([Intel XE#6974])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-2/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#2390] / [Intel XE#6974]) +1 other test skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-3/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@legacy-hdcp14@pipe-a-dp-1:
    - shard-bmg:          NOTRUN -> [FAIL][25] ([Intel XE#3304] / [Intel XE#7374])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@kms_content_protection@legacy-hdcp14@pipe-a-dp-1.html

  * igt@kms_cursor_crc@cursor-offscreen-256x85:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#2320]) +1 other test skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-4/igt@kms_cursor_crc@cursor-offscreen-256x85.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-lnl:          NOTRUN -> [SKIP][27] ([Intel XE#2321] / [Intel XE#7355])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-8/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-lnl:          NOTRUN -> [SKIP][28] ([Intel XE#309] / [Intel XE#7343])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-8/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#4210] / [Intel XE#7467])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-10/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#1508])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-4/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-lnl:          NOTRUN -> [SKIP][31] ([Intel XE#9530])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_link_training@uhbr-sst-direct-train:
    - shard-lnl:          NOTRUN -> [SKIP][32] ([Intel XE#9529])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@kms_dp_link_training@uhbr-sst-direct-train.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#8265]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-3/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#4422] / [Intel XE#7442])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-8/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html

  * igt@kms_feature_discovery@psr2:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#2374] / [Intel XE#6128])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-8/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-modeset:
    - shard-lnl:          NOTRUN -> [SKIP][36] ([Intel XE#1421]) +1 other test skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-8/igt@kms_flip@2x-flip-vs-modeset.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [PASS][37] -> [FAIL][38] ([Intel XE#301]) +1 other test fail
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

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

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#6312] / [Intel XE#651]) +2 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#2311]) +27 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][42] ([Intel XE#7061] / [Intel XE#7356])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-2/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#4141]) +3 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][45] ([Intel XE#656] / [Intel XE#7905]) +9 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-pri-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][46] ([Intel XE#6312]) +2 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#7061])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-blt.html

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

  * igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#7061]) +1 other test skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-5/igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#2313]) +24 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psrhdr-rgb101010-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][51] ([Intel XE#7865]) +6 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-8/igt@kms_frontbuffer_tracking@psrhdr-rgb101010-draw-render.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#7308])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-10/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#1503])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@kms_hdr@invalid-metadata-sizes.html

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

  * igt@kms_plane_multiple@2x-tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#5021] / [Intel XE#7377])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-yf.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#5020] / [Intel XE#7348])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b:
    - shard-lnl:          NOTRUN -> [SKIP][57] ([Intel XE#2763] / [Intel XE#6886]) +1 other test skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#2763] / [Intel XE#6886]) +4 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-5/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#7376] / [Intel XE#7760] / [Intel XE#870])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_dc@dc3co-vpb-framegap@pr-xrgb8888:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_pm_dc@dc3co-vpb-framegap@pr-xrgb8888.html

  * igt@kms_pm_dc@dc3co-vpb-framegap@psr2-xrgb8888:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#8396]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_pm_dc@dc3co-vpb-framegap@psr2-xrgb8888.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#2499])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-9/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf:
    - shard-lnl:          NOTRUN -> [SKIP][63] ([Intel XE#2893] / [Intel XE#7304]) +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-4/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-bmg:          NOTRUN -> [SKIP][64] ([Intel XE#1489]) +2 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-10/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr@pr-sprite-blt:
    - shard-lnl:          NOTRUN -> [SKIP][65] ([Intel XE#1406]) +1 other test skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-4/igt@kms_psr@pr-sprite-blt.html

  * igt@kms_psr@psr2-sprite-blt:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#2234] / [Intel XE#2850]) +7 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-5/igt@kms_psr@psr2-sprite-blt.html

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

  * igt@kms_sharpness_filter@invalid-filter-with-scaling-mode:
    - shard-bmg:          NOTRUN -> [SKIP][68] ([Intel XE#6503])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@kms_sharpness_filter@invalid-filter-with-scaling-mode.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#2450] / [Intel XE#5857])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-3/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vrr@cmrr-desktop-mode:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#9271]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_vrr@cmrr-desktop-mode.html

  * igt@xe_ccs@vm-bind-decompress:
    - shard-lnl:          NOTRUN -> [SKIP][71] ([Intel XE#7644])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-2/igt@xe_ccs@vm-bind-decompress.html

  * igt@xe_evict@evict-beng-cm-threads-small:
    - 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_16064/shard-lnl-3/igt@xe_evict@evict-beng-cm-threads-small.html

  * igt@xe_evict@evict-mixed-threads-small-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][73] ([Intel XE#8370])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@xe_evict@evict-mixed-threads-small-multi-queue.html

  * igt@xe_exec_balancer@once-virtual-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][74] ([Intel XE#7482]) +4 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-8/igt@xe_exec_balancer@once-virtual-rebind.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
    - shard-lnl:          NOTRUN -> [SKIP][75] ([Intel XE#1392]) +2 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-4/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#2322] / [Intel XE#7372]) +6 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind.html

  * igt@xe_exec_fault_mode@once-multi-queue-userptr-imm:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#8374]) +4 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@xe_exec_fault_mode@once-multi-queue-userptr-imm.html

  * igt@xe_exec_fault_mode@twice-multi-queue-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#8374]) +1 other test skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-5/igt@xe_exec_fault_mode@twice-multi-queue-userptr.html

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

  * igt@xe_exec_multi_queue@two-queues-basic-smem:
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#8364]) +19 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-1/igt@xe_exec_multi_queue@two-queues-basic-smem.html

  * igt@xe_exec_reset@multi-queue-long-spin-many-queue-switch:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#8369]) +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@xe_exec_reset@multi-queue-long-spin-many-queue-switch.html

  * igt@xe_exec_system_allocator@many-stride-new-prefetch:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][82] ([Intel XE#7098] / [Intel XE#8159])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@xe_exec_system_allocator@many-stride-new-prefetch.html

  * igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][83] ([Intel XE#8378]) +2 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-userptr.html

  * igt@xe_exec_threads@threads-multi-queue-mixed-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][84] ([Intel XE#8378]) +4 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-5/igt@xe_exec_threads@threads-multi-queue-mixed-rebind.html

  * igt@xe_media_fill@media-fill:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#2459] / [Intel XE#2596] / [Intel XE#7321] / [Intel XE#7453])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-2/igt@xe_media_fill@media-fill.html

  * igt@xe_mempage_offline@inject-duplicate-page:
    - shard-bmg:          NOTRUN -> [SKIP][86] ([Intel XE#9203])
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-9/igt@xe_mempage_offline@inject-duplicate-page.html

  * igt@xe_multigpu_svm@mgpu-atomic-op-basic:
    - shard-lnl:          NOTRUN -> [SKIP][87] ([Intel XE#6964])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@xe_multigpu_svm@mgpu-atomic-op-basic.html

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

  * igt@xe_page_reclaim@binds-full-pd:
    - shard-lnl:          NOTRUN -> [SKIP][89] ([Intel XE#7793])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-5/igt@xe_page_reclaim@binds-full-pd.html

  * igt@xe_page_reclaim@boundary-split:
    - shard-bmg:          NOTRUN -> [SKIP][90] ([Intel XE#7793]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@xe_page_reclaim@boundary-split.html

  * igt@xe_pm@s3-basic-exec:
    - shard-lnl:          NOTRUN -> [SKIP][91] ([Intel XE#584] / [Intel XE#7369])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@xe_pm@s3-basic-exec.html

  * igt@xe_pm@s4-basic-exec:
    - shard-lnl:          [PASS][92] -> [ABORT][93] ([Intel XE#9362])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-lnl-3/igt@xe_pm@s4-basic-exec.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-2/igt@xe_pm@s4-basic-exec.html

  * igt@xe_pxp@pxp-optout:
    - shard-bmg:          NOTRUN -> [SKIP][94] ([Intel XE#4733] / [Intel XE#7417]) +1 other test skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-3/igt@xe_pxp@pxp-optout.html

  * igt@xe_query@multigpu-query-oa-units:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#944])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@xe_query@multigpu-query-oa-units.html

  * igt@xe_sriov_admin@sched-priority-vf-write-denied:
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#7174])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-5/igt@xe_sriov_admin@sched-priority-vf-write-denied.html

  
#### Possible fixes ####

  * igt@intel_hwmon@hwmon-write:
    - shard-bmg:          [FAIL][97] ([Intel XE#8583]) -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-5/igt@intel_hwmon@hwmon-write.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-4/igt@intel_hwmon@hwmon-write.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][99] ([Intel XE#7084] / [Intel XE#8150]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_hdmi_audio_bw@audio-bw-hblank160:
    - shard-bmg:          [FAIL][101] ([Intel XE#9313]) -> [PASS][102]
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-7/igt@kms_hdmi_audio_bw@audio-bw-hblank160.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-1/igt@kms_hdmi_audio_bw@audio-bw-hblank160.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [SKIP][103] ([Intel XE#1503]) -> [PASS][104]
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-1/igt@kms_hdr@invalid-hdr.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-2/igt@kms_hdr@invalid-hdr.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [FAIL][105] ([Intel XE#8399]) -> [PASS][106]
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-lnl-3/igt@kms_pm_dc@dc6-dpms.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-7/igt@kms_pm_dc@dc6-dpms.html

  * igt@xe_pm@s4-vm-bind-unbind-all:
    - shard-lnl:          [ABORT][107] ([Intel XE#9362]) -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-lnl-4/igt@xe_pm@s4-vm-bind-unbind-all.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@xe_pm@s4-vm-bind-unbind-all.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-bmg:          [FAIL][109] ([Intel XE#6569]) -> [PASS][110]
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-2/igt@xe_sriov_flr@flr-vf1-clear.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-5/igt@xe_sriov_flr@flr-vf1-clear.html

  
#### Warnings ####

  * igt@kms_big_fb@linear-8bpp-rotate-90:
    - shard-lnl:          [ABORT][111] ([Intel XE#4760]) -> [SKIP][112] ([Intel XE#1407])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-lnl-8/igt@kms_big_fb@linear-8bpp-rotate-90.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-lnl-3/igt@kms_big_fb@linear-8bpp-rotate-90.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][113] ([Intel XE#3544]) -> [SKIP][114] ([Intel XE#3374] / [Intel XE#3544])
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-9/igt@kms_hdr@brightness-with-hdr.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [FAIL][115] ([Intel XE#1729] / [Intel XE#7424]) -> [SKIP][116] ([Intel XE#2426] / [Intel XE#5848])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-9/igt@kms_tiled_display@basic-test-pattern.html

  * igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all:
    - shard-bmg:          [ABORT][117] ([Intel XE#8868]) -> [ABORT][118] ([Intel XE#8868] / [Intel XE#9463])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9170/shard-bmg-5/igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_16064/shard-bmg-3/igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [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#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [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#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
  [Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2450]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2450
  [Intel XE#2459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2459
  [Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
  [Intel XE#2596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2596
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [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#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4210]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4210
  [Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#5857]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5857
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#6128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6128
  [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#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#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6969]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6969
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7008]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7008
  [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#7098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7098
  [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#7321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7321
  [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
  [Intel XE#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348
  [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#7367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7367
  [Intel XE#7369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7369
  [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#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
  [Intel XE#7377]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7377
  [Intel XE#7387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7387
  [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#7442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7442
  [Intel XE#7453]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7453
  [Intel XE#7467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7467
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7644]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7644
  [Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
  [Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
  [Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
  [Intel XE#8159]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8159
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8370
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
  [Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
  [Intel XE#8399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8399
  [Intel XE#8583]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8583
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#8868]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8868
  [Intel XE#9142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9142
  [Intel XE#9203]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9203
  [Intel XE#9271]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9271
  [Intel XE#9313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9313
  [Intel XE#9362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9362
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#9463]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9463
  [Intel XE#9529]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9529
  [Intel XE#9530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9530


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

  * IGT: IGT_9170 -> IGTPW_16064
  * Linux: xe-6022-f00a1fa90fcfdf84b1600e0aca74c965fb86fe76 -> xe-6025-c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1

  IGTPW_16064: 16064
  IGT_9170: 9170
  xe-6022-f00a1fa90fcfdf84b1600e0aca74c965fb86fe76: f00a1fa90fcfdf84b1600e0aca74c965fb86fe76
  xe-6025-c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1: c5e5c97abe824c32d4cbb5a1ae5625374f4bc5e1

== Logs ==

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

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

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

* Re: [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features
  2026-10-28 20:05 ` [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features Michael J. Ruhl
@ 2026-11-11 19:23   ` Rodrigo Vivi
  2026-11-12 14:20     ` Ruhl, Michael J
  0 siblings, 1 reply; 11+ messages in thread
From: Rodrigo Vivi @ 2026-11-11 19:23 UTC (permalink / raw)
  To: Michael J. Ruhl; +Cc: igt-dev, frank.scarbrough, david.e.box

On Wed, Oct 28, 2026 at 01:05:01PM -0700, Michael J. Ruhl wrote:
> Battlemage (BMG) devices have the Platform Monitoring
> Technology (PMT) telemetry and crashlog features. If the
> device present is a BMG, test the PMT API.
> 
> NOTE: the testing order is not flexible and must be done in
> the currently specified order.
> 
> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
> ---
>  tests/intel/xe_pmt.c | 562 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 562 insertions(+)
>  create mode 100644 tests/intel/xe_pmt.c
> 
> diff --git a/tests/intel/xe_pmt.c b/tests/intel/xe_pmt.c
> new file mode 100644
> index 000000000..af5d470b5
> --- /dev/null
> +++ b/tests/intel/xe_pmt.c
> @@ -0,0 +1,562 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#include <unistd.h>
> +#include <dirent.h>
> +#include <fcntl.h>
> +#include <limits.h>
> +#include <string.h>
> +
> +#include "igt.h"
> +#include "igt_sysfs.h"
> +#include "linux_scaffold.h"
> +#include "xe_drm.h"
> +#include "xe/xe_ioctl.h"
> +#include "xe/xe_query.h"
> +
> +/**
> + * TEST: Verify Platform Monitoring Technology (PMT) files operations
> + * Category: Core
> + * Mega feature: General Core features
> + * Sub-category: uapi
> + * Functionality: sysfs
> + * Description: Verify that the available PMT files (crashlog and telemetry)
> + *   are created, are accessable, and respond as per design.
> + *
> + * SUBTEST: pmt-bmg-all
> + * Description:
> + *   Exercise the BMG PMT feature
> + *
> + */
> +
> +IGT_TEST_DESCRIPTION("Verify Platform Monitoring Technology (PMT) files operations");
> +
> +/* base directory names */
> +#define VSEC_CRASHLOG_DIR "intel_vsec.crashlog."
> +#define VSEC_TELEMETRY_DIR "intel_vsec.telemetry."
> +#define CRASHLOG_DIR "crashlog"
> +#define TELEMETRY_DIR "telem"
> +
> +/* itemize the available instances for the specific device */
> +enum bmg_crashlog_instances {
> +	bmg_crashlog_punit = 0,
> +	bmg_crashlog_oobmsm,
> +	bmg_crashlog_max
> +};
> +
> +enum bmg_telemety_instances {
> +	bmg_telemetry_punit = 0,
> +	bmg_telemetry_oobmsm,
> +	bmg_telemetry_max
> +};
> +
> +static char dev_path[PATH_MAX];
> +static char work_path[PATH_MAX * 2];
> +
> +/*
> + * In most case there should be a single instance of the crashlog and telemetry
> + * directories. If DVSEC entries are not contiguous the structure will be different,
> + * and the code will need to reflect the structure.
> + */
> +static char crashlog_vsec_dir[32];
> +static char telemetry_vsec_dir[32];
> +
> +/* This needs to be specific for each supported device */
> +static char crashlog_dir[bmg_crashlog_max][32];
> +static char telemetry_dir[bmg_telemetry_max][32];
> +
> +/* telemetry file names */
> +static const char *telem = "telem";
> +
> +/* crashlog filenames and descriptors */
> +static const char *clear = "clear";
> +static const char *consumed = "consumed";
> +static const char *crashlog = "crashlog";
> +static const char *enable = "enable";
> +static const char *error = "error";
> +static const char *dev_guid = "guid";
> +static const char *rearm = "rearm";
> +static const char *trigger = "trigger";
> +
> +struct crashlog_v2_info {
> +	int clear_fd;
> +	int consumed_fd;
> +	int crashlog_fd;
> +	int enable_fd;
> +	int error_fd;
> +	int guid_fd;
> +	int rearm_fd;
> +	int trigger_fd;
> +	u_int32_t guid;
> +} bmg_info[bmg_crashlog_max];
> +
> +#define DEV_PATH_LEN 80
> +
> +/*
> + * device_sysfs_path:
> + * @fd: opened device file descriptor
> + * @path: buffer to store sysfs path to device directory
> + *
> + * Returns:
> + * On successfull path resolution sysfs path to device directory,
> + * NULL otherwise
> + */
> +static char *device_sysfs_path(int fd, char *path)
> +{
> +        char sysfs[DEV_PATH_LEN];
> +
> +        if (!igt_sysfs_path(fd, sysfs, sizeof(sysfs)))
> +                return NULL;
> +
> +        if (DEV_PATH_LEN <= (strlen(sysfs) + strlen("/device")))
> +                return NULL;
> +
> +        strcat(sysfs, "/device");
> +
> +        return realpath(sysfs, path);
> +}
> +
> +/*
> + * Verify the PMT directory structure
> + *
> + * BMG PMT directory structure:
> + *   device/intel_vsec.crashlog.x/intel_pmt/crashlog<a,b>
> + *   device/intel_vsec.telemetry.x/intel_pmt/telemetry<c,d>
> + *
> + * Note: different platforms could have a different pattern
> + */
> +static void test_pmt_directories(int dev_fd)
> +{
> +	struct dirent *ent;
> +	int index;
> +	DIR *dir;
> +
> +	igt_assert(device_sysfs_path(dev_fd, dev_path));
> +
> +	/* verify top level PMT directories */
> +	dir = opendir(dev_path);
> +	igt_assert_f(dir, "no directories found\n");
> +
> +	while ((ent = readdir(dir)) != NULL) {
> +		if (strncmp(VSEC_CRASHLOG_DIR, ent->d_name, sizeof(VSEC_CRASHLOG_DIR) - 1) == 0)
> +			strcpy(crashlog_vsec_dir, ent->d_name);
> +		if (strncmp(VSEC_TELEMETRY_DIR, ent->d_name, sizeof(VSEC_TELEMETRY_DIR) - 1) == 0)
> +			strcpy(telemetry_vsec_dir, ent->d_name);
> +	}
> +
> +	closedir(dir);
> +
> +	igt_assert_f(strlen(crashlog_vsec_dir), "missing crashlog directory\n");
> +	igt_assert_f(strlen(telemetry_vsec_dir), "missing telemetry directory\n");
> +
> +	/* verify crashlog directory structure */
> +	sprintf(work_path, "%s/%s/%s", dev_path, crashlog_vsec_dir, "intel_pmt");
> +
> +	dir = opendir(work_path);
> +	igt_assert_f(dir, "no intel_pmt directories found\n");
> +
> +	index = 0;
> +	/* find the crashlog<x> directory instances */
> +	while ((ent = readdir(dir)) != NULL) {
> +		if (strncmp(CRASHLOG_DIR, ent->d_name, sizeof(CRASHLOG_DIR) - 1) == 0) {
> +			if (index < bmg_crashlog_max)
> +				strcpy(crashlog_dir[index], ent->d_name);
> +			index++;
> +		}
> +	}
> +
> +	closedir(dir);
> +
> +	igt_assert_f(index == bmg_crashlog_max, "too many crashlog entries %d\n", index);
> +	for (int i = 0; i < ARRAY_SIZE(crashlog_dir); i++)
> +		igt_assert_f(strlen(crashlog_dir[i]), "missing crashlog[%d] directory\n", i);
> +
> +	/* verify telemetry directory structure */
> +	sprintf(work_path, "%s/%s/%s", dev_path, telemetry_vsec_dir, "intel_pmt");
> +
> +	dir = opendir(work_path);
> +	igt_assert_f(dir, "no telemetry intel_pmt directories found\n");
> +
> +	index = 0;
> +	while ((ent = readdir(dir)) != NULL) {
> +		if (strncmp(TELEMETRY_DIR, ent->d_name, sizeof(TELEMETRY_DIR) - 1) == 0) {
> +			if (index < bmg_telemetry_max)
> +				strcpy(telemetry_dir[index], ent->d_name);
> +			index++;
> +		}
> +	}
> +
> +	closedir(dir);
> +
> +	igt_assert_f(index == bmg_telemetry_max, "too many telemetry entries %d\n", index);
> +	for (int i = 0; i < ARRAY_SIZE(telemetry_dir); i++)
> +		igt_assert_f(strlen(telemetry_dir[i]), "missing telemetry[%d] directory\n", i);
> +
> +}
> +
> +static void find_pmt_file(const char *path, const char *file)
> +{
> +	struct dirent *ent;
> +	bool found;
> +	DIR *dir;
> +
> +	dir = opendir(path);
> +	igt_assert_f(dir, "no intel_pmt directories found\n");
> +
> +	found = false;
> +	while ((ent = readdir(dir)) != NULL)
> +		if (strcmp(file, ent->d_name) == 0)
> +			found = true;
> +	closedir(dir);
> +
> +	igt_assert_f(found, "missing %s from %s\n", file, path);
> +}
> +
> +static void open_pmt_file(const char *path, const char *file, int *fd, int flags)
> +{
> +	char file_path[PATH_MAX * 2 + 1];
> +
> +	sprintf(file_path, "%s/%s", path, file);
> +
> +	*fd = open(file_path, flags);
> +	igt_assert_f(*fd > -1, "failed to open %s\n", file_path);
> +}
> +
> +/*
> + * verify that the expected telemetry file(s) are in place
> + */
> +static void test_pmt_telemetry_files(int dev_fd)
> +{
> +	int i;
> +
> +	for (i = 0; i < bmg_telemetry_max; i++) {
> +		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
> +			"intel_pmt", telemetry_dir[i]);
> +		find_pmt_file(work_path, telem);
> +	}
> +}
> +
> +/*
> + * verify that a read will be successful
> + */
> +static void test_pmt_telemetry_read_data(int dev_fd)
> +{
> +	char buf[64] = {};
> +	u_int32_t *val;
> +	u_int32_t guid;
> +	int telem_fd;
> +	int guid_fd;
> +	int ret;
> +	int len;
> +	int i;
> +
> +	for (i = 0; i < bmg_telemetry_max; i++) {
> +		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
> +			"intel_pmt", telemetry_dir[i]);
> +		open_pmt_file(work_path, telem, &telem_fd, O_RDONLY);
> +		open_pmt_file(work_path, dev_guid, &guid_fd, O_RDONLY);
> +
> +		ret = pread(guid_fd, buf, sizeof(buf), 0);
> +		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
> +		guid = strtol(buf, NULL, 16);
> +		igt_assert_f(guid > 0, "failed to get guid for device %d\n", i);
> +
> +		len = read(telem_fd, buf, sizeof(buf));
> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read telemetry data\n", guid);
> +
> +		val = (u_int32_t *)buf;
> +		igt_assert_f(*val != 0xffffffff, "0x%x: invalid telemetry data value: : 0x%x\n",
> +			     guid, *val);
> +
> +		close(telem_fd);
> +		close(guid_fd);
> +	}
> +}
> +
> +/*
> + * verify that the expected crashlog files are in place
> + */
> +static void test_pmt_crashlog_files(int dev_fd)
> +{
> +	char buf[64] = {};
> +	int ret;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +		sprintf(work_path, "%s/%s/%s/%s", dev_path, crashlog_vsec_dir, "intel_pmt",
> +			crashlog_dir[i]);
> +
> +		open_pmt_file(work_path, clear, &bmg_info[i].clear_fd, O_RDONLY);
> +		open_pmt_file(work_path, consumed, &bmg_info[i].consumed_fd, O_RDWR);
> +		open_pmt_file(work_path, crashlog, &bmg_info[i].crashlog_fd, O_RDONLY);
> +		open_pmt_file(work_path, enable, &bmg_info[i].enable_fd, O_RDWR);
> +		open_pmt_file(work_path, error, &bmg_info[i].error_fd, O_RDONLY);
> +		open_pmt_file(work_path, dev_guid, &bmg_info[i].guid_fd, O_RDONLY);
> +		open_pmt_file(work_path, rearm, &bmg_info[i].rearm_fd, O_RDWR);
> +		open_pmt_file(work_path, trigger, &bmg_info[i].trigger_fd, O_RDWR);
> +
> +		ret = pread(bmg_info[i].guid_fd, buf, sizeof(buf), 0);
> +		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
> +		bmg_info[i].guid = strtol(buf, NULL, 16);
> +		igt_assert_f(bmg_info[i].guid > 0, "failed to set guid for device %d\n", i);
> +	}
> +}
> +
> +#define ENABLE_MSG "1\n"
> +#define DISABLE_MSG "0\n"
> +
> +static bool send_msg(int fd, const char *msg, const char *file) {
> +	size_t len = strlen(msg);
> +	int ret;
> +
> +	errno = 0;
> +	ret = pwrite(fd, msg, len, 0);
> +	if (ret != len)
> +		igt_info("%s failed: len: %ld vs %d  errno: %d\n", file, len, ret,
> +			 errno);
> +
> +	return ret == len;
> +}
> +
> +static bool verify_msg(int fd, const char *msg, const char *file) {
> +	size_t len = strlen(msg);
> +	char buf[32] = {};
> +	int ret;
> +
> +	errno = 0;
> +	ret = pread(fd, buf, sizeof(buf), 0);
> +	if (ret != len)
> +		igt_info("%s failed: len: %ld vs %d  errno: %d\n", file, len, ret, errno);
> +
> +	return ret == len && strcmp(buf, msg) == 0;
> +}
> +
> +/*
> + * Set enable enable/disable bit and verify usage
> + */
> +static void test_pmt_crashlog_enable(int dev_fd)
> +{
> +	u_int32_t guid;
> +	int fd;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +		fd = bmg_info[i].enable_fd;
> +		guid = bmg_info[i].guid;
> +
> +		/* force enable so we are in a known state */
> +		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: send enable\n", guid);
> +		igt_assert_f(verify_msg(fd, ENABLE_MSG, enable), "0x%x: verify enable\n", guid);
> +
> +		/* disable */
> +		igt_assert_f(send_msg(fd, DISABLE_MSG, enable), "0x%x: send disable\n", guid);
> +		igt_assert_f(verify_msg(fd, DISABLE_MSG, enable), "0x%x: verify disable\n", guid);
> +
> +		/* re-enable so we can do more testing */
> +		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: re-enable\n", guid);
> +		igt_assert_f(verify_msg(fd, ENABLE_MSG, enable), "0x%x: verify re-enable\n", guid);
> +	}
> +
> +}
> +
> +/*
> + * The error bit is set when a crashlog fails in HW.  It is read only so only
> + * need to verify that it is "0".
> + */
> +static void test_pmt_crashlog_error(int dev_fd)
> +{
> +	uint32_t guid;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +		guid = bmg_info[i].guid;
> +		igt_assert_f(verify_msg(bmg_info[i].error_fd, DISABLE_MSG, error),
> +			     "0x%x: error clear\n", guid);
> +	}
> +}
> +
> +/*
> + * The rearm bit is set at cold boot.  It cannot be reset unless are real crashlog
> + * occurs (i.e. setting trigger will not change its value).  Verify that it is "1".
> + */
> +static void test_pmt_crashlog_rearm(int dev_fd)
> +{
> +	uint32_t guid;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +		guid = bmg_info[i].guid;
> +		igt_assert_f(verify_msg(bmg_info[i].rearm_fd, ENABLE_MSG, rearm),
> +			     "0x%x: rearm set\n", guid);
> +	}
> +}
> +
> +//#define PMT_CRASHLOG_TRIGGER_ENABLE 1
> +#if PMT_CRASHLOG_TRIGGER_ENABLE

Sorry for the late reply. One idea that AI gave me and I liked:
Instead of the #if, make it a separate subtest, e.g. pmt-crashlog-trigger,
that does igt_skip_on_f(!getenv("IGT_PMT_DESTRUCTIVE"), ...)
(like meta_test.c), and add it to tests/intel-ci/xe.blocklist.txt.
Then it always builds, CI never runs it, and you run it by hand with

IGT_PMT_DESTRUCTIVE=1 --run-subtest pmt-crashlog-trigger.

with this change:

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> +/*
> + * Set the manual trigger bit and make sure the data is not 0xdeadbeef
> + */
> +static void test_pmt_crashlog_trigger(int dev_fd)
> +{
> +	char buf[64] = {};
> +	u_int32_t *val;
> +	int crashlog_fd;
> +	int trigger_fd;
> +	u_int32_t guid;
> +	int len;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +		crashlog_fd = bmg_info[i].crashlog_fd;
> +		trigger_fd = bmg_info[i].trigger_fd;
> +		guid = bmg_info[i].guid;
> +
> +		/* make sure the bit is clear */
> +		igt_assert_f(verify_msg(trigger_fd, DISABLE_MSG, trigger), "0x%x: trigger clear\n",
> +			     guid);
> +		/* set the trigger bit (1 -> trigger)*/
> +		igt_assert_f(send_msg(trigger_fd, ENABLE_MSG, trigger), "0x%x: set trigger\n", guid);
> +
> +		/* sleep to let the HW do its thing */
> +		sleep(1);
> +
> +		/* make sure the bit is set */
> +		igt_assert_f(verify_msg(trigger_fd, ENABLE_MSG, trigger), "0x%x: trigger not set\n",
> +			     guid);
> +
> +		len = read(crashlog_fd, buf, sizeof(buf));
> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
> +
> +		val = (u_int32_t *)buf;
> +
> +		igt_assert_f(*val != 0xdeadbeef, "0x%x: invalid trigger value: : 0x%x", guid, *val);
> +	}
> +}
> +
> +/*
> + * After a crashlog has been "consumed" (read), setting this bit can be done.
> + * Verify that it is set correctly.
> + */
> +static void test_pmt_crashlog_consumed(int dev_fd)
> +{
> +	uint32_t guid;
> +	int fd;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +		fd = bmg_info[i].consumed_fd;
> +		guid = bmg_info[i].guid;
> +
> +		/* check, set, verify */
> +		igt_assert_f(verify_msg(fd, DISABLE_MSG, consumed), "0x%x: consumed clear\n", guid);
> +		igt_assert_f(send_msg(fd, ENABLE_MSG, consumed), "0x%x: set consumed\n", guid);
> +		/* sleep(1) to allow HW to set the bit */
> +		sleep(1);
> +		igt_assert_f(verify_msg(fd, ENABLE_MSG, consumed), "0x%x: verify consumed\n", guid);
> +	}
> +}
> +
> +/*
> + * Test the clear crashlog bit. After setting the crashlog data buffer should be
> + * set to 0xdeadbeef.
> + * BMG supports writing "1" to the clear file, but writing "0" (DISABLE_MSG) to trigger
> + * file is the "standard" usage, so test that usage.
> + * This bit cannot be cleared by software (i.e. reboot required).
> + */
> +static void test_pmt_crashlog_clear(int dev_fd)
> +{
> +	char buf[64] = {};
> +	u_int32_t guid;
> +	int crashlog_fd;
> +	int trigger_fd;
> +	int clear_fd;
> +	int *val;
> +	int len;
> +	int i;
> +
> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +		clear_fd = bmg_info[i].clear_fd;
> +		crashlog_fd = bmg_info[i].crashlog_fd;
> +		trigger_fd = bmg_info[i].trigger_fd;
> +		guid = bmg_info[i].guid;
> +
> +		/* make sure the bit is clear */
> +		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x: verify clear\n", guid);
> +
> +		/* set the clear bit (0 -> trigger)*/
> +		igt_assert_f(send_msg(trigger_fd, DISABLE_MSG, trigger), "0x%x: send enable\n", guid);
> +
> +		/* make sure the bit is set.  sleep() to allow HW to set the bit */
> +		sleep(1);
> +		igt_assert_f(verify_msg(clear_fd, ENABLE_MSG, clear), "0x%x: clear set\n", guid);
> +
> +		len = read(crashlog_fd, buf, sizeof(buf));
> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
> +
> +		val = (int *)buf;
> +		igt_assert_f(*val == 0xdeadbeef, "0x%x: invalid clear data value: : 0x%x", guid, *val);
> +	}
> +}
> +#endif
> +
> +/**
> + * SUBTEST: pmt-bmg-all
> + * Description:
> + *   Because of how the Crashlog Instances behave, these tests are ordered. Do not use them
> + *   individually unless you understand the underlying HW behavior.  Because of this behavior,
> + *   all of the test will be done in order in one step.
> + *   NOTE:
> + *     o Testing MUST be done after a cold reset
> + *     o Once crashlog is triggered the device behavior is undefined and requires a cold reset
> + *
> + *  Test category: functionality test
> + */
> +static void test_pmt_bmg(int fd)
> +{
> +	test_pmt_directories(fd);
> +
> +	test_pmt_telemetry_files(fd);
> +	test_pmt_telemetry_read_data(fd);
> +
> +	test_pmt_crashlog_files(fd);
> +	test_pmt_crashlog_error(fd);
> +	test_pmt_crashlog_enable(fd);
> +	test_pmt_crashlog_rearm(fd);
> +
> +#if PMT_CRASHLOG_TRIGGER_ENABLE
> +	test_pmt_crashlog_trigger(fd);
> +	test_pmt_crashlog_consumed(fd);
> +	test_pmt_crashlog_clear(fd);
> +#endif
> +}
> +
> +int igt_main()
> +{
> +	const struct {
> +		const char *name;
> +		void (*func)(int);
> +	} funcs[] = {
> +		{ "pmt-bmg-all", test_pmt_bmg },
> +		{ }
> +	}, *f;
> +	int dev_fd;
> +
> +	igt_fixture() {
> +		uint16_t dev_id;
> +
> +		dev_fd = drm_open_driver(DRIVER_XE);
> +		dev_id = intel_get_drm_devid(dev_fd);
> +		igt_require_f(IS_BATTLEMAGE(dev_id), "PMT supported on BMG GPU\n");
> +	}
> +
> +	igt_describe("PMT access and API testing");
> +	for (f = funcs; f->name; f++) {
> +		igt_subtest_f("%s", f->name)
> +			f->func(dev_fd);
> +	}
> +
> +	igt_fixture()
> +		drm_close_driver(dev_fd);
> +}
> -- 
> 2.43.0
> 

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

* Re: [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT
  2026-10-28 20:05 ` [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT Michael J. Ruhl
@ 2026-11-11 19:23   ` Rodrigo Vivi
  2026-11-12 14:25     ` Ruhl, Michael J
  0 siblings, 1 reply; 11+ messages in thread
From: Rodrigo Vivi @ 2026-11-11 19:23 UTC (permalink / raw)
  To: Michael J. Ruhl; +Cc: igt-dev, frank.scarbrough, david.e.box

On Wed, Oct 28, 2026 at 01:05:02PM -0700, Michael J. Ruhl wrote:
> Crescent Island (CRI) devices have the Platform Monitoring
> Technology (PMT) support for the telemetry and crashlog
> (type 1/version2) functions.
> 
> Add test support for the device.
> 
> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
> ---
>  tests/intel/xe_pmt.c | 259 ++++++++++++++++++++++++++++---------------
>  1 file changed, 171 insertions(+), 88 deletions(-)
> 
> diff --git a/tests/intel/xe_pmt.c b/tests/intel/xe_pmt.c
> index af5d470b5..ebd3fe3f6 100644
> --- a/tests/intel/xe_pmt.c
> +++ b/tests/intel/xe_pmt.c
> @@ -8,6 +8,7 @@
>  #include <fcntl.h>
>  #include <limits.h>
>  #include <string.h>
> +#include <linux/limits.h>
>  
>  #include "igt.h"
>  #include "igt_sysfs.h"
> @@ -25,9 +26,9 @@
>   * Description: Verify that the available PMT files (crashlog and telemetry)
>   *   are created, are accessable, and respond as per design.
>   *
> - * SUBTEST: pmt-bmg-all
> + * SUBTEST: pmt-api
>   * Description:
> - *   Exercise the BMG PMT feature
> + *   Verify that the correct PMT sysfs file exist and verify access
>   *
>   */
>  
> @@ -40,16 +41,34 @@ IGT_TEST_DESCRIPTION("Verify Platform Monitoring Technology (PMT) files operatio
>  #define TELEMETRY_DIR "telem"
>  
>  /* itemize the available instances for the specific device */
> -enum bmg_crashlog_instances {
> -	bmg_crashlog_punit = 0,
> -	bmg_crashlog_oobmsm,
> -	bmg_crashlog_max
> +enum pmt_device {
> +	PMT_DEVICE_BMG,
> +	PMT_DEVICE_CRI,
>  };
>  
> -enum bmg_telemety_instances {
> -	bmg_telemetry_punit = 0,
> -	bmg_telemetry_oobmsm,
> -	bmg_telemetry_max
> +struct pmt_device_info {
> +	uint32_t max_crashlog;
> +	uint32_t max_telem;
> +};
> +
> +#define BMG_CRASHLOG_MAX	(2)
> +#define BMG_TELEM_MAX		(2)
> +
> +#define CRI_CRASHLOG_MAX	(2)
> +#define CRI_TELEM_MAX		(3)
> +
> +#define CRASHLOG_MAX		CRI_CRASHLOG_MAX
> +#define TELEM_MAX		CRI_TELEM_MAX
> +
> +struct pmt_device_info device_info[] = {
> +	[PMT_DEVICE_BMG] = {
> +		.max_crashlog = BMG_CRASHLOG_MAX,
> +		.max_telem = BMG_TELEM_MAX,
> +	},
> +	[PMT_DEVICE_CRI] = {
> +		.max_crashlog = CRI_CRASHLOG_MAX,
> +		.max_telem = CRI_TELEM_MAX,
> +	},
>  };
>  
>  static char dev_path[PATH_MAX];
> @@ -59,13 +78,18 @@ static char work_path[PATH_MAX * 2];
>   * In most case there should be a single instance of the crashlog and telemetry
>   * directories. If DVSEC entries are not contiguous the structure will be different,
>   * and the code will need to reflect the structure.
> + * vsec directory string size is sizeof(xxx_DIR) + idx.  For instance:
> + *    intel_vsec.crashlog.3
> + *    intel_vsec.telemetry.23
>   */
> -static char crashlog_vsec_dir[32];
> -static char telemetry_vsec_dir[32];
> +#define MAX_VSEC_DIR (32)
> +
> +static char crashlog_vsec_dir[MAX_VSEC_DIR];
> +static char telemetry_vsec_dir[MAX_VSEC_DIR];
>  
>  /* This needs to be specific for each supported device */
> -static char crashlog_dir[bmg_crashlog_max][32];
> -static char telemetry_dir[bmg_telemetry_max][32];
> +static char crashlog_dir[CRASHLOG_MAX][MAX_VSEC_DIR];
> +static char telemetry_dir[TELEM_MAX][MAX_VSEC_DIR];
>  
>  /* telemetry file names */
>  static const char *telem = "telem";
> @@ -90,7 +114,7 @@ struct crashlog_v2_info {
>  	int rearm_fd;
>  	int trigger_fd;
>  	u_int32_t guid;
> -} bmg_info[bmg_crashlog_max];
> +} crashlog_info[CRASHLOG_MAX];
>  
>  #define DEV_PATH_LEN 80
>  
> @@ -121,17 +145,22 @@ static char *device_sysfs_path(int fd, char *path)
>  /*
>   * Verify the PMT directory structure
>   *
> - * BMG PMT directory structure:
> + * BMG/CRI PMT directory structure:
>   *   device/intel_vsec.crashlog.x/intel_pmt/crashlog<a,b>
>   *   device/intel_vsec.telemetry.x/intel_pmt/telemetry<c,d>
>   *
>   * Note: different platforms could have a different pattern
>   */
> -static void test_pmt_directories(int dev_fd)
> +static void test_pmt_directories(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	struct dirent *ent;
> -	int index;
> +	uint32_t index;
>  	DIR *dir;
> +	uint32_t max_crashlog;
> +	uint32_t max_telem;
> +
> +	max_crashlog = device_info[pmt_dev].max_crashlog;
> +	max_telem = device_info[pmt_dev].max_telem;
>  
>  	igt_assert(device_sysfs_path(dev_fd, dev_path));
>  
> @@ -161,7 +190,7 @@ static void test_pmt_directories(int dev_fd)
>  	/* find the crashlog<x> directory instances */
>  	while ((ent = readdir(dir)) != NULL) {
>  		if (strncmp(CRASHLOG_DIR, ent->d_name, sizeof(CRASHLOG_DIR) - 1) == 0) {
> -			if (index < bmg_crashlog_max)
> +			if (index < max_crashlog)
>  				strcpy(crashlog_dir[index], ent->d_name);
>  			index++;
>  		}
> @@ -169,8 +198,9 @@ static void test_pmt_directories(int dev_fd)
>  
>  	closedir(dir);
>  
> -	igt_assert_f(index == bmg_crashlog_max, "too many crashlog entries %d\n", index);
> -	for (int i = 0; i < ARRAY_SIZE(crashlog_dir); i++)
> +	igt_assert_f(index == max_crashlog, "unexpected crashlog entries: %d  vs expected: %d\n",
> +		     index, max_crashlog);
> +	for (int i = 0; i < max_crashlog && i < ARRAY_SIZE(crashlog_dir); i++)
>  		igt_assert_f(strlen(crashlog_dir[i]), "missing crashlog[%d] directory\n", i);
>  
>  	/* verify telemetry directory structure */
> @@ -182,7 +212,7 @@ static void test_pmt_directories(int dev_fd)
>  	index = 0;
>  	while ((ent = readdir(dir)) != NULL) {
>  		if (strncmp(TELEMETRY_DIR, ent->d_name, sizeof(TELEMETRY_DIR) - 1) == 0) {
> -			if (index < bmg_telemetry_max)
> +			if (index < max_telem)
>  				strcpy(telemetry_dir[index], ent->d_name);
>  			index++;
>  		}
> @@ -190,8 +220,9 @@ static void test_pmt_directories(int dev_fd)
>  
>  	closedir(dir);
>  
> -	igt_assert_f(index == bmg_telemetry_max, "too many telemetry entries %d\n", index);
> -	for (int i = 0; i < ARRAY_SIZE(telemetry_dir); i++)
> +	igt_assert_f(index == max_telem, "unexpected telemetry entries: %d  vs expected: %d\n",
> +		     index, max_telem);
> +	for (int i = 0; i < max_telem && i < ARRAY_SIZE(telemetry_dir); i++)
>  		igt_assert_f(strlen(telemetry_dir[i]), "missing telemetry[%d] directory\n", i);
>  
>  }
> @@ -227,11 +258,11 @@ static void open_pmt_file(const char *path, const char *file, int *fd, int flags
>  /*
>   * verify that the expected telemetry file(s) are in place
>   */
> -static void test_pmt_telemetry_files(int dev_fd)
> +static void test_pmt_telemetry_files(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	int i;
>  
> -	for (i = 0; i < bmg_telemetry_max; i++) {
> +	for (i = 0; i < device_info[pmt_dev].max_telem; i++) {
>  		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
>  			"intel_pmt", telemetry_dir[i]);
>  		find_pmt_file(work_path, telem);
> @@ -241,7 +272,7 @@ static void test_pmt_telemetry_files(int dev_fd)
>  /*
>   * verify that a read will be successful
>   */
> -static void test_pmt_telemetry_read_data(int dev_fd)
> +static void test_pmt_telemetry_read_data(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	char buf[64] = {};
>  	u_int32_t *val;
> @@ -252,7 +283,7 @@ static void test_pmt_telemetry_read_data(int dev_fd)
>  	int len;
>  	int i;
>  
> -	for (i = 0; i < bmg_telemetry_max; i++) {
> +	for (i = 0; i < device_info[pmt_dev].max_telem; i++) {
>  		sprintf(work_path, "%s/%s/%s/%s", dev_path, telemetry_vsec_dir,
>  			"intel_pmt", telemetry_dir[i]);
>  		open_pmt_file(work_path, telem, &telem_fd, O_RDONLY);
> @@ -278,29 +309,29 @@ static void test_pmt_telemetry_read_data(int dev_fd)
>  /*
>   * verify that the expected crashlog files are in place
>   */
> -static void test_pmt_crashlog_files(int dev_fd)
> +static void test_pmt_crashlog_files(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	char buf[64] = {};
>  	int ret;
>  	int i;
>  
> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>  		sprintf(work_path, "%s/%s/%s/%s", dev_path, crashlog_vsec_dir, "intel_pmt",
>  			crashlog_dir[i]);
>  
> -		open_pmt_file(work_path, clear, &bmg_info[i].clear_fd, O_RDONLY);
> -		open_pmt_file(work_path, consumed, &bmg_info[i].consumed_fd, O_RDWR);
> -		open_pmt_file(work_path, crashlog, &bmg_info[i].crashlog_fd, O_RDONLY);
> -		open_pmt_file(work_path, enable, &bmg_info[i].enable_fd, O_RDWR);
> -		open_pmt_file(work_path, error, &bmg_info[i].error_fd, O_RDONLY);
> -		open_pmt_file(work_path, dev_guid, &bmg_info[i].guid_fd, O_RDONLY);
> -		open_pmt_file(work_path, rearm, &bmg_info[i].rearm_fd, O_RDWR);
> -		open_pmt_file(work_path, trigger, &bmg_info[i].trigger_fd, O_RDWR);
> +		open_pmt_file(work_path, clear, &crashlog_info[i].clear_fd, O_RDONLY);
> +		open_pmt_file(work_path, consumed, &crashlog_info[i].consumed_fd, O_RDWR);
> +		open_pmt_file(work_path, crashlog, &crashlog_info[i].crashlog_fd, O_RDONLY);
> +		open_pmt_file(work_path, enable, &crashlog_info[i].enable_fd, O_RDWR);
> +		open_pmt_file(work_path, error, &crashlog_info[i].error_fd, O_RDONLY);
> +		open_pmt_file(work_path, dev_guid, &crashlog_info[i].guid_fd, O_RDONLY);
> +		open_pmt_file(work_path, rearm, &crashlog_info[i].rearm_fd, O_RDWR);
> +		open_pmt_file(work_path, trigger, &crashlog_info[i].trigger_fd, O_RDWR);
>  
> -		ret = pread(bmg_info[i].guid_fd, buf, sizeof(buf), 0);
> +		ret = pread(crashlog_info[i].guid_fd, buf, sizeof(buf), 0);
>  		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
> -		bmg_info[i].guid = strtol(buf, NULL, 16);
> -		igt_assert_f(bmg_info[i].guid > 0, "failed to set guid for device %d\n", i);
> +		crashlog_info[i].guid = strtol(buf, NULL, 16);
> +		igt_assert_f(crashlog_info[i].guid > 0, "failed to set guid for device %d\n", i);
>  	}
>  }
>  
> @@ -336,15 +367,15 @@ static bool verify_msg(int fd, const char *msg, const char *file) {
>  /*
>   * Set enable enable/disable bit and verify usage
>   */
> -static void test_pmt_crashlog_enable(int dev_fd)
> +static void test_pmt_crashlog_enable(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	u_int32_t guid;
>  	int fd;
>  	int i;
>  
> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> -		fd = bmg_info[i].enable_fd;
> -		guid = bmg_info[i].guid;
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
> +		fd = crashlog_info[i].enable_fd;
> +		guid = crashlog_info[i].guid;
>  
>  		/* force enable so we are in a known state */
>  		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: send enable\n", guid);
> @@ -365,14 +396,14 @@ static void test_pmt_crashlog_enable(int dev_fd)
>   * The error bit is set when a crashlog fails in HW.  It is read only so only
>   * need to verify that it is "0".
>   */
> -static void test_pmt_crashlog_error(int dev_fd)
> +static void test_pmt_crashlog_error(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	uint32_t guid;
>  	int i;
>  
> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> -		guid = bmg_info[i].guid;
> -		igt_assert_f(verify_msg(bmg_info[i].error_fd, DISABLE_MSG, error),
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
> +		guid = crashlog_info[i].guid;
> +		igt_assert_f(verify_msg(crashlog_info[i].error_fd, DISABLE_MSG, error),
>  			     "0x%x: error clear\n", guid);
>  	}
>  }
> @@ -381,24 +412,65 @@ static void test_pmt_crashlog_error(int dev_fd)
>   * The rearm bit is set at cold boot.  It cannot be reset unless are real crashlog
>   * occurs (i.e. setting trigger will not change its value).  Verify that it is "1".
>   */
> -static void test_pmt_crashlog_rearm(int dev_fd)
> +static void test_pmt_crashlog_rearm(int dev_fd, size_t pmt_dev)
>  {
>  	uint32_t guid;
>  	int i;
>  
> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> -		guid = bmg_info[i].guid;
> -		igt_assert_f(verify_msg(bmg_info[i].rearm_fd, ENABLE_MSG, rearm),
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
> +		guid = crashlog_info[i].guid;
> +		igt_assert_f(verify_msg(crashlog_info[i].rearm_fd, ENABLE_MSG, rearm),
>  			     "0x%x: rearm set\n", guid);
>  	}
>  }
>  
> +/*
> + * Verify the crashlog data is in the initialized state
> + * 0xdeadbeef BMG PUINT/OOBMSM default, CRI PUNIT default
> + * 0xba0b6afe CRI OOBMSM default
> + */
> +static void test_pmt_crashlog_inited(int dev_fd, enum pmt_device pmt_dev)
> +{
> +	char buf[64] = {};
> +	u_int32_t guid;
> +	int crashlog_fd;
> +	int clear_fd;
> +	int *val;
> +	int len;
> +	int i;
> +
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
> +		clear_fd = crashlog_info[i].clear_fd;
> +		crashlog_fd = crashlog_info[i].crashlog_fd;
> +		guid = crashlog_info[i].guid;
> +
> +		/* make sure the bit is clear */
> +		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x: verify clear\n", guid);
> +
> +		len = read(crashlog_fd, buf, sizeof(buf));
> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
> +
> +		val = (int *)buf;
> +		igt_assert_f(*val == 0xdeadbeef || *val == 0xba0b6afe,
> +			     "0x%x: invalid clear data value: : 0x%x\n", guid, *val);

perhaps here it should be a igt_skip instead?

> +	}
> +}
> +
>  //#define PMT_CRASHLOG_TRIGGER_ENABLE 1
>  #if PMT_CRASHLOG_TRIGGER_ENABLE
> +/*
> + * Triggering a Crashlog requires a power cycle to return the device to a usable
> + * state.
> + * This is very disruptive and doesn't necessarily verify much more than the
> + * current set of tests.
> + * Commentting out the trigger, consumed, clear path for "normal" testing.
> + * Compile flag so these tests can be done expclity.
> + */
> +
>  /*
>   * Set the manual trigger bit and make sure the data is not 0xdeadbeef
>   */
> -static void test_pmt_crashlog_trigger(int dev_fd)
> +static void test_pmt_crashlog_trigger(int dev_fd, size_t pmt_dev)
>  {
>  	char buf[64] = {};
>  	u_int32_t *val;
> @@ -408,10 +480,10 @@ static void test_pmt_crashlog_trigger(int dev_fd)
>  	int len;
>  	int i;
>  
> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> -		crashlog_fd = bmg_info[i].crashlog_fd;
> -		trigger_fd = bmg_info[i].trigger_fd;
> -		guid = bmg_info[i].guid;
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
> +		crashlog_fd = crashlog_info[i].crashlog_fd;
> +		trigger_fd = crashlog_info[i].trigger_fd;
> +		guid = crashlog_info[i].guid;
>  
>  		/* make sure the bit is clear */
>  		igt_assert_f(verify_msg(trigger_fd, DISABLE_MSG, trigger), "0x%x: trigger clear\n",
> @@ -431,7 +503,8 @@ static void test_pmt_crashlog_trigger(int dev_fd)
>  
>  		val = (u_int32_t *)buf;
>  
> -		igt_assert_f(*val != 0xdeadbeef, "0x%x: invalid trigger value: : 0x%x", guid, *val);
> +		igt_assert_f(*val != 0xdeadbeef && *val != 0xba0b6afe,
> +			     "0x%x: invalid trigger value: : 0x%x\n", guid, *val);
>  	}
>  }
>  
> @@ -439,15 +512,15 @@ static void test_pmt_crashlog_trigger(int dev_fd)
>   * After a crashlog has been "consumed" (read), setting this bit can be done.
>   * Verify that it is set correctly.
>   */
> -static void test_pmt_crashlog_consumed(int dev_fd)
> +static void test_pmt_crashlog_consumed(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	uint32_t guid;
>  	int fd;
>  	int i;
>  
> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> -		fd = bmg_info[i].consumed_fd;
> -		guid = bmg_info[i].guid;
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
> +		fd = crashlog_info[i].consumed_fd;
> +		guid = crashlog_info[i].guid;
>  
>  		/* check, set, verify */
>  		igt_assert_f(verify_msg(fd, DISABLE_MSG, consumed), "0x%x: consumed clear\n", guid);
> @@ -460,12 +533,12 @@ static void test_pmt_crashlog_consumed(int dev_fd)
>  
>  /*
>   * Test the clear crashlog bit. After setting the crashlog data buffer should be
> - * set to 0xdeadbeef.
> + * set to 0xdeadbeef or 0xba0b6afe.
>   * BMG supports writing "1" to the clear file, but writing "0" (DISABLE_MSG) to trigger
>   * file is the "standard" usage, so test that usage.
>   * This bit cannot be cleared by software (i.e. reboot required).
>   */
> -static void test_pmt_crashlog_clear(int dev_fd)
> +static void test_pmt_crashlog_clear(int dev_fd, enum pmt_device pmt_dev)
>  {
>  	char buf[64] = {};
>  	u_int32_t guid;
> @@ -476,11 +549,11 @@ static void test_pmt_crashlog_clear(int dev_fd)
>  	int len;
>  	int i;
>  
> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
> -		clear_fd = bmg_info[i].clear_fd;
> -		crashlog_fd = bmg_info[i].crashlog_fd;
> -		trigger_fd = bmg_info[i].trigger_fd;
> -		guid = bmg_info[i].guid;
> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
> +		clear_fd = crashlog_info[i].clear_fd;
> +		crashlog_fd = crashlog_info[i].crashlog_fd;
> +		trigger_fd = crashlog_info[i].trigger_fd;
> +		guid = crashlog_info[i].guid;
>  
>  		/* make sure the bit is clear */
>  		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x: verify clear\n", guid);
> @@ -496,39 +569,45 @@ static void test_pmt_crashlog_clear(int dev_fd)
>  		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog data\n", guid);
>  
>  		val = (int *)buf;
> -		igt_assert_f(*val == 0xdeadbeef, "0x%x: invalid clear data value: : 0x%x", guid, *val);
> +		igt_assert_f(*val == 0xdeadbeef || *val == 0xba0b6afe,
> +			     "0x%x: invalid clear data value: : 0x%x\n", guid, *val);
>  	}
>  }
>  #endif
>  
>  /**
> - * SUBTEST: pmt-bmg-all
> + * SUBTEST: pmt-api
>   * Description:
>   *   Because of how the Crashlog Instances behave, these tests are ordered. Do not use them
>   *   individually unless you understand the underlying HW behavior.  Because of this behavior,
> - *   all of the test will be done in order in one step.
> + *   all of the test will be done in order in one sub-test.
> + *
> + *   Crashlog will cause the GPU to be in an un-useful state.  Reseting to recover
> + *   is not yet fully defined.
>   *   NOTE:
> + *     o PMT file info is accumulated from successful tests and is used in sequence
>   *     o Testing MUST be done after a cold reset
>   *     o Once crashlog is triggered the device behavior is undefined and requires a cold reset
>   *
>   *  Test category: functionality test
>   */
> -static void test_pmt_bmg(int fd)
> +static void test_pmt_api(int fd, enum pmt_device pmt_dev)
>  {
> -	test_pmt_directories(fd);
> +	test_pmt_directories(fd, pmt_dev);
>  
> -	test_pmt_telemetry_files(fd);
> -	test_pmt_telemetry_read_data(fd);
> +	test_pmt_telemetry_files(fd, pmt_dev);
> +	test_pmt_telemetry_read_data(fd, pmt_dev);
>  
> -	test_pmt_crashlog_files(fd);
> -	test_pmt_crashlog_error(fd);
> -	test_pmt_crashlog_enable(fd);
> -	test_pmt_crashlog_rearm(fd);
> +	test_pmt_crashlog_files(fd, pmt_dev);
> +	test_pmt_crashlog_error(fd, pmt_dev);
> +	test_pmt_crashlog_enable(fd, pmt_dev);
> +	test_pmt_crashlog_rearm(fd, pmt_dev);
> +	test_pmt_crashlog_inited(fd, pmt_dev);
>  
>  #if PMT_CRASHLOG_TRIGGER_ENABLE
> -	test_pmt_crashlog_trigger(fd);
> -	test_pmt_crashlog_consumed(fd);
> -	test_pmt_crashlog_clear(fd);
> +	test_pmt_crashlog_trigger(fd, pmt_dev);
> +	test_pmt_crashlog_consumed(fd, pmt_dev);
> +	test_pmt_crashlog_clear(fd, pmt_dev);
>  #endif
>  }
>  
> @@ -536,25 +615,29 @@ int igt_main()
>  {
>  	const struct {
>  		const char *name;
> -		void (*func)(int);
> +		void (*func)(int, enum pmt_device);
>  	} funcs[] = {
> -		{ "pmt-bmg-all", test_pmt_bmg },
> +		{ "pmt-api", test_pmt_api },
>  		{ }
>  	}, *f;
>  	int dev_fd;
> +	enum pmt_device pmt_dev;
>  
>  	igt_fixture() {
>  		uint16_t dev_id;
>  
>  		dev_fd = drm_open_driver(DRIVER_XE);
>  		dev_id = intel_get_drm_devid(dev_fd);
> -		igt_require_f(IS_BATTLEMAGE(dev_id), "PMT supported on BMG GPU\n");
> +		igt_require_f(IS_BATTLEMAGE(dev_id) || IS_CRESCENTISLAND(dev_id),
> +			      "PMT supported on BMG or CRI GPUs\n");
> +
> +		pmt_dev = IS_BATTLEMAGE(dev_id) ? PMT_DEVICE_BMG : PMT_DEVICE_CRI;
>  	}
>  
>  	igt_describe("PMT access and API testing");
>  	for (f = funcs; f->name; f++) {
>  		igt_subtest_f("%s", f->name)
> -			f->func(dev_fd);
> +			f->func(dev_fd, pmt_dev);
>  	}
>  
>  	igt_fixture()
> -- 
> 2.43.0
> 

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

* RE: [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features
  2026-11-11 19:23   ` Rodrigo Vivi
@ 2026-11-12 14:20     ` Ruhl, Michael J
  0 siblings, 0 replies; 11+ messages in thread
From: Ruhl, Michael J @ 2026-11-12 14:20 UTC (permalink / raw)
  To: Vivi, Rodrigo
  Cc: igt-dev@lists.freedesktop.org, Scarbrough, Frank,
	david.e.box@linux.intel.com



>-----Original Message-----
>From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
>Sent: Wednesday, November 11, 2026 2:23 PM
>To: Ruhl, Michael J <michael.j.ruhl@intel.com>
>Cc: igt-dev@lists.freedesktop.org; Scarbrough, Frank
><frank.scarbrough@intel.com>; david.e.box@linux.intel.com
>Subject: Re: [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT
>features
>
>On Wed, Oct 28, 2026 at 01:05:01PM -0700, Michael J. Ruhl wrote:
>> Battlemage (BMG) devices have the Platform Monitoring
>> Technology (PMT) telemetry and crashlog features. If the
>> device present is a BMG, test the PMT API.
>>
>> NOTE: the testing order is not flexible and must be done in
>> the currently specified order.
>>
>> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
>> ---
>>  tests/intel/xe_pmt.c | 562
>+++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 562 insertions(+)
>>  create mode 100644 tests/intel/xe_pmt.c
>>
>> diff --git a/tests/intel/xe_pmt.c b/tests/intel/xe_pmt.c
>> new file mode 100644
>> index 000000000..af5d470b5
>> --- /dev/null
>> +++ b/tests/intel/xe_pmt.c
>> @@ -0,0 +1,562 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright (c) 2025 Intel Corporation
>> + */
>> +
>> +#include <unistd.h>
>> +#include <dirent.h>
>> +#include <fcntl.h>
>> +#include <limits.h>
>> +#include <string.h>
>> +
>> +#include "igt.h"
>> +#include "igt_sysfs.h"
>> +#include "linux_scaffold.h"
>> +#include "xe_drm.h"
>> +#include "xe/xe_ioctl.h"
>> +#include "xe/xe_query.h"
>> +
>> +/**
>> + * TEST: Verify Platform Monitoring Technology (PMT) files operations
>> + * Category: Core
>> + * Mega feature: General Core features
>> + * Sub-category: uapi
>> + * Functionality: sysfs
>> + * Description: Verify that the available PMT files (crashlog and telemetry)
>> + *   are created, are accessable, and respond as per design.
>> + *
>> + * SUBTEST: pmt-bmg-all
>> + * Description:
>> + *   Exercise the BMG PMT feature
>> + *
>> + */
>> +
>> +IGT_TEST_DESCRIPTION("Verify Platform Monitoring Technology (PMT) files
>operations");
>> +
>> +/* base directory names */
>> +#define VSEC_CRASHLOG_DIR "intel_vsec.crashlog."
>> +#define VSEC_TELEMETRY_DIR "intel_vsec.telemetry."
>> +#define CRASHLOG_DIR "crashlog"
>> +#define TELEMETRY_DIR "telem"
>> +
>> +/* itemize the available instances for the specific device */
>> +enum bmg_crashlog_instances {
>> +	bmg_crashlog_punit = 0,
>> +	bmg_crashlog_oobmsm,
>> +	bmg_crashlog_max
>> +};
>> +
>> +enum bmg_telemety_instances {
>> +	bmg_telemetry_punit = 0,
>> +	bmg_telemetry_oobmsm,
>> +	bmg_telemetry_max
>> +};
>> +
>> +static char dev_path[PATH_MAX];
>> +static char work_path[PATH_MAX * 2];
>> +
>> +/*
>> + * In most case there should be a single instance of the crashlog and
>telemetry
>> + * directories. If DVSEC entries are not contiguous the structure will be
>different,
>> + * and the code will need to reflect the structure.
>> + */
>> +static char crashlog_vsec_dir[32];
>> +static char telemetry_vsec_dir[32];
>> +
>> +/* This needs to be specific for each supported device */
>> +static char crashlog_dir[bmg_crashlog_max][32];
>> +static char telemetry_dir[bmg_telemetry_max][32];
>> +
>> +/* telemetry file names */
>> +static const char *telem = "telem";
>> +
>> +/* crashlog filenames and descriptors */
>> +static const char *clear = "clear";
>> +static const char *consumed = "consumed";
>> +static const char *crashlog = "crashlog";
>> +static const char *enable = "enable";
>> +static const char *error = "error";
>> +static const char *dev_guid = "guid";
>> +static const char *rearm = "rearm";
>> +static const char *trigger = "trigger";
>> +
>> +struct crashlog_v2_info {
>> +	int clear_fd;
>> +	int consumed_fd;
>> +	int crashlog_fd;
>> +	int enable_fd;
>> +	int error_fd;
>> +	int guid_fd;
>> +	int rearm_fd;
>> +	int trigger_fd;
>> +	u_int32_t guid;
>> +} bmg_info[bmg_crashlog_max];
>> +
>> +#define DEV_PATH_LEN 80
>> +
>> +/*
>> + * device_sysfs_path:
>> + * @fd: opened device file descriptor
>> + * @path: buffer to store sysfs path to device directory
>> + *
>> + * Returns:
>> + * On successfull path resolution sysfs path to device directory,
>> + * NULL otherwise
>> + */
>> +static char *device_sysfs_path(int fd, char *path)
>> +{
>> +        char sysfs[DEV_PATH_LEN];
>> +
>> +        if (!igt_sysfs_path(fd, sysfs, sizeof(sysfs)))
>> +                return NULL;
>> +
>> +        if (DEV_PATH_LEN <= (strlen(sysfs) + strlen("/device")))
>> +                return NULL;
>> +
>> +        strcat(sysfs, "/device");
>> +
>> +        return realpath(sysfs, path);
>> +}
>> +
>> +/*
>> + * Verify the PMT directory structure
>> + *
>> + * BMG PMT directory structure:
>> + *   device/intel_vsec.crashlog.x/intel_pmt/crashlog<a,b>
>> + *   device/intel_vsec.telemetry.x/intel_pmt/telemetry<c,d>
>> + *
>> + * Note: different platforms could have a different pattern
>> + */
>> +static void test_pmt_directories(int dev_fd)
>> +{
>> +	struct dirent *ent;
>> +	int index;
>> +	DIR *dir;
>> +
>> +	igt_assert(device_sysfs_path(dev_fd, dev_path));
>> +
>> +	/* verify top level PMT directories */
>> +	dir = opendir(dev_path);
>> +	igt_assert_f(dir, "no directories found\n");
>> +
>> +	while ((ent = readdir(dir)) != NULL) {
>> +		if (strncmp(VSEC_CRASHLOG_DIR, ent->d_name,
>sizeof(VSEC_CRASHLOG_DIR) - 1) == 0)
>> +			strcpy(crashlog_vsec_dir, ent->d_name);
>> +		if (strncmp(VSEC_TELEMETRY_DIR, ent->d_name,
>sizeof(VSEC_TELEMETRY_DIR) - 1) == 0)
>> +			strcpy(telemetry_vsec_dir, ent->d_name);
>> +	}
>> +
>> +	closedir(dir);
>> +
>> +	igt_assert_f(strlen(crashlog_vsec_dir), "missing crashlog directory\n");
>> +	igt_assert_f(strlen(telemetry_vsec_dir), "missing telemetry
>directory\n");
>> +
>> +	/* verify crashlog directory structure */
>> +	sprintf(work_path, "%s/%s/%s", dev_path, crashlog_vsec_dir,
>"intel_pmt");
>> +
>> +	dir = opendir(work_path);
>> +	igt_assert_f(dir, "no intel_pmt directories found\n");
>> +
>> +	index = 0;
>> +	/* find the crashlog<x> directory instances */
>> +	while ((ent = readdir(dir)) != NULL) {
>> +		if (strncmp(CRASHLOG_DIR, ent->d_name,
>sizeof(CRASHLOG_DIR) - 1) == 0) {
>> +			if (index < bmg_crashlog_max)
>> +				strcpy(crashlog_dir[index], ent->d_name);
>> +			index++;
>> +		}
>> +	}
>> +
>> +	closedir(dir);
>> +
>> +	igt_assert_f(index == bmg_crashlog_max, "too many crashlog entries
>%d\n", index);
>> +	for (int i = 0; i < ARRAY_SIZE(crashlog_dir); i++)
>> +		igt_assert_f(strlen(crashlog_dir[i]), "missing crashlog[%d]
>directory\n", i);
>> +
>> +	/* verify telemetry directory structure */
>> +	sprintf(work_path, "%s/%s/%s", dev_path, telemetry_vsec_dir,
>"intel_pmt");
>> +
>> +	dir = opendir(work_path);
>> +	igt_assert_f(dir, "no telemetry intel_pmt directories found\n");
>> +
>> +	index = 0;
>> +	while ((ent = readdir(dir)) != NULL) {
>> +		if (strncmp(TELEMETRY_DIR, ent->d_name,
>sizeof(TELEMETRY_DIR) - 1) == 0) {
>> +			if (index < bmg_telemetry_max)
>> +				strcpy(telemetry_dir[index], ent->d_name);
>> +			index++;
>> +		}
>> +	}
>> +
>> +	closedir(dir);
>> +
>> +	igt_assert_f(index == bmg_telemetry_max, "too many telemetry entries
>%d\n", index);
>> +	for (int i = 0; i < ARRAY_SIZE(telemetry_dir); i++)
>> +		igt_assert_f(strlen(telemetry_dir[i]), "missing telemetry[%d]
>directory\n", i);
>> +
>> +}
>> +
>> +static void find_pmt_file(const char *path, const char *file)
>> +{
>> +	struct dirent *ent;
>> +	bool found;
>> +	DIR *dir;
>> +
>> +	dir = opendir(path);
>> +	igt_assert_f(dir, "no intel_pmt directories found\n");
>> +
>> +	found = false;
>> +	while ((ent = readdir(dir)) != NULL)
>> +		if (strcmp(file, ent->d_name) == 0)
>> +			found = true;
>> +	closedir(dir);
>> +
>> +	igt_assert_f(found, "missing %s from %s\n", file, path);
>> +}
>> +
>> +static void open_pmt_file(const char *path, const char *file, int *fd, int flags)
>> +{
>> +	char file_path[PATH_MAX * 2 + 1];
>> +
>> +	sprintf(file_path, "%s/%s", path, file);
>> +
>> +	*fd = open(file_path, flags);
>> +	igt_assert_f(*fd > -1, "failed to open %s\n", file_path);
>> +}
>> +
>> +/*
>> + * verify that the expected telemetry file(s) are in place
>> + */
>> +static void test_pmt_telemetry_files(int dev_fd)
>> +{
>> +	int i;
>> +
>> +	for (i = 0; i < bmg_telemetry_max; i++) {
>> +		sprintf(work_path, "%s/%s/%s/%s", dev_path,
>telemetry_vsec_dir,
>> +			"intel_pmt", telemetry_dir[i]);
>> +		find_pmt_file(work_path, telem);
>> +	}
>> +}
>> +
>> +/*
>> + * verify that a read will be successful
>> + */
>> +static void test_pmt_telemetry_read_data(int dev_fd)
>> +{
>> +	char buf[64] = {};
>> +	u_int32_t *val;
>> +	u_int32_t guid;
>> +	int telem_fd;
>> +	int guid_fd;
>> +	int ret;
>> +	int len;
>> +	int i;
>> +
>> +	for (i = 0; i < bmg_telemetry_max; i++) {
>> +		sprintf(work_path, "%s/%s/%s/%s", dev_path,
>telemetry_vsec_dir,
>> +			"intel_pmt", telemetry_dir[i]);
>> +		open_pmt_file(work_path, telem, &telem_fd, O_RDONLY);
>> +		open_pmt_file(work_path, dev_guid, &guid_fd, O_RDONLY);
>> +
>> +		ret = pread(guid_fd, buf, sizeof(buf), 0);
>> +		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
>> +		guid = strtol(buf, NULL, 16);
>> +		igt_assert_f(guid > 0, "failed to get guid for device %d\n", i);
>> +
>> +		len = read(telem_fd, buf, sizeof(buf));
>> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read telemetry
>data\n", guid);
>> +
>> +		val = (u_int32_t *)buf;
>> +		igt_assert_f(*val != 0xffffffff, "0x%x: invalid telemetry data
>value: : 0x%x\n",
>> +			     guid, *val);
>> +
>> +		close(telem_fd);
>> +		close(guid_fd);
>> +	}
>> +}
>> +
>> +/*
>> + * verify that the expected crashlog files are in place
>> + */
>> +static void test_pmt_crashlog_files(int dev_fd)
>> +{
>> +	char buf[64] = {};
>> +	int ret;
>> +	int i;
>> +
>> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +		sprintf(work_path, "%s/%s/%s/%s", dev_path,
>crashlog_vsec_dir, "intel_pmt",
>> +			crashlog_dir[i]);
>> +
>> +		open_pmt_file(work_path, clear, &bmg_info[i].clear_fd,
>O_RDONLY);
>> +		open_pmt_file(work_path, consumed,
>&bmg_info[i].consumed_fd, O_RDWR);
>> +		open_pmt_file(work_path, crashlog, &bmg_info[i].crashlog_fd,
>O_RDONLY);
>> +		open_pmt_file(work_path, enable, &bmg_info[i].enable_fd,
>O_RDWR);
>> +		open_pmt_file(work_path, error, &bmg_info[i].error_fd,
>O_RDONLY);
>> +		open_pmt_file(work_path, dev_guid, &bmg_info[i].guid_fd,
>O_RDONLY);
>> +		open_pmt_file(work_path, rearm, &bmg_info[i].rearm_fd,
>O_RDWR);
>> +		open_pmt_file(work_path, trigger, &bmg_info[i].trigger_fd,
>O_RDWR);
>> +
>> +		ret = pread(bmg_info[i].guid_fd, buf, sizeof(buf), 0);
>> +		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
>> +		bmg_info[i].guid = strtol(buf, NULL, 16);
>> +		igt_assert_f(bmg_info[i].guid > 0, "failed to set guid for device
>%d\n", i);
>> +	}
>> +}
>> +
>> +#define ENABLE_MSG "1\n"
>> +#define DISABLE_MSG "0\n"
>> +
>> +static bool send_msg(int fd, const char *msg, const char *file) {
>> +	size_t len = strlen(msg);
>> +	int ret;
>> +
>> +	errno = 0;
>> +	ret = pwrite(fd, msg, len, 0);
>> +	if (ret != len)
>> +		igt_info("%s failed: len: %ld vs %d  errno: %d\n", file, len, ret,
>> +			 errno);
>> +
>> +	return ret == len;
>> +}
>> +
>> +static bool verify_msg(int fd, const char *msg, const char *file) {
>> +	size_t len = strlen(msg);
>> +	char buf[32] = {};
>> +	int ret;
>> +
>> +	errno = 0;
>> +	ret = pread(fd, buf, sizeof(buf), 0);
>> +	if (ret != len)
>> +		igt_info("%s failed: len: %ld vs %d  errno: %d\n", file, len, ret,
>errno);
>> +
>> +	return ret == len && strcmp(buf, msg) == 0;
>> +}
>> +
>> +/*
>> + * Set enable enable/disable bit and verify usage
>> + */
>> +static void test_pmt_crashlog_enable(int dev_fd)
>> +{
>> +	u_int32_t guid;
>> +	int fd;
>> +	int i;
>> +
>> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +		fd = bmg_info[i].enable_fd;
>> +		guid = bmg_info[i].guid;
>> +
>> +		/* force enable so we are in a known state */
>> +		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: send
>enable\n", guid);
>> +		igt_assert_f(verify_msg(fd, ENABLE_MSG, enable), "0x%x:
>verify enable\n", guid);
>> +
>> +		/* disable */
>> +		igt_assert_f(send_msg(fd, DISABLE_MSG, enable), "0x%x: send
>disable\n", guid);
>> +		igt_assert_f(verify_msg(fd, DISABLE_MSG, enable), "0x%x:
>verify disable\n", guid);
>> +
>> +		/* re-enable so we can do more testing */
>> +		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: re-
>enable\n", guid);
>> +		igt_assert_f(verify_msg(fd, ENABLE_MSG, enable), "0x%x:
>verify re-enable\n", guid);
>> +	}
>> +
>> +}
>> +
>> +/*
>> + * The error bit is set when a crashlog fails in HW.  It is read only so only
>> + * need to verify that it is "0".
>> + */
>> +static void test_pmt_crashlog_error(int dev_fd)
>> +{
>> +	uint32_t guid;
>> +	int i;
>> +
>> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +		guid = bmg_info[i].guid;
>> +		igt_assert_f(verify_msg(bmg_info[i].error_fd, DISABLE_MSG,
>error),
>> +			     "0x%x: error clear\n", guid);
>> +	}
>> +}
>> +
>> +/*
>> + * The rearm bit is set at cold boot.  It cannot be reset unless are real crashlog
>> + * occurs (i.e. setting trigger will not change its value).  Verify that it is "1".
>> + */
>> +static void test_pmt_crashlog_rearm(int dev_fd)
>> +{
>> +	uint32_t guid;
>> +	int i;
>> +
>> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +		guid = bmg_info[i].guid;
>> +		igt_assert_f(verify_msg(bmg_info[i].rearm_fd, ENABLE_MSG,
>rearm),
>> +			     "0x%x: rearm set\n", guid);
>> +	}
>> +}
>> +
>> +//#define PMT_CRASHLOG_TRIGGER_ENABLE 1
>> +#if PMT_CRASHLOG_TRIGGER_ENABLE
>
>Sorry for the late reply. One idea that AI gave me and I liked:
>Instead of the #if, make it a separate subtest, e.g. pmt-crashlog-trigger,
>that does igt_skip_on_f(!getenv("IGT_PMT_DESTRUCTIVE"), ...)
>(like meta_test.c), and add it to tests/intel-ci/xe.blocklist.txt.
>Then it always builds, CI never runs it, and you run it by hand with
>
>IGT_PMT_DESTRUCTIVE=1 --run-subtest pmt-crashlog-trigger.
>
>with this change:
>
>Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>

I like this idea.

The tests need to be strictly ordered and splitting them into a separate test will
be difficult.

Would this be acceptable?

--
static void test_pmt_api(int fd, enum pmt_device pmt_dev)
{
	test_pmt_directories(fd, pmt_dev);

	test_pmt_telemetry_files(fd, pmt_dev);
	test_pmt_telemetry_read_data(fd, pmt_dev);

	test_pmt_crashlog_files(fd, pmt_dev);
	test_pmt_crashlog_error(fd, pmt_dev);
	test_pmt_crashlog_enable(fd, pmt_dev);
	test_pmt_crashlog_rearm(fd, pmt_dev);
	test_pmt_crashlog_inited(fd, pmt_dev);

	if (getenv("IGT_PMT_DESTRUCTIVE")) {
		test_pmt_crashlog_trigger(fd, pmt_dev);
		test_pmt_crashlog_consumed(fd, pmt_dev);
		test_pmt_crashlog_clear(fd, pmt_dev);
	} else {
		igt_info("PMT destructive crashlog skipped\n");
	}
}
--


int igt_main()
>> +/*
>> + * Set the manual trigger bit and make sure the data is not 0xdeadbeef
>> + */
>> +static void test_pmt_crashlog_trigger(int dev_fd)
>> +{
>> +	char buf[64] = {};
>> +	u_int32_t *val;
>> +	int crashlog_fd;
>> +	int trigger_fd;
>> +	u_int32_t guid;
>> +	int len;
>> +	int i;
>> +
>> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +		crashlog_fd = bmg_info[i].crashlog_fd;
>> +		trigger_fd = bmg_info[i].trigger_fd;
>> +		guid = bmg_info[i].guid;
>> +
>> +		/* make sure the bit is clear */
>> +		igt_assert_f(verify_msg(trigger_fd, DISABLE_MSG, trigger),
>"0x%x: trigger clear\n",
>> +			     guid);
>> +		/* set the trigger bit (1 -> trigger)*/
>> +		igt_assert_f(send_msg(trigger_fd, ENABLE_MSG, trigger),
>"0x%x: set trigger\n", guid);
>> +
>> +		/* sleep to let the HW do its thing */
>> +		sleep(1);
>> +
>> +		/* make sure the bit is set */
>> +		igt_assert_f(verify_msg(trigger_fd, ENABLE_MSG, trigger),
>"0x%x: trigger not set\n",
>> +			     guid);
>> +
>> +		len = read(crashlog_fd, buf, sizeof(buf));
>> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog
>data\n", guid);
>> +
>> +		val = (u_int32_t *)buf;
>> +
>> +		igt_assert_f(*val != 0xdeadbeef, "0x%x: invalid trigger value: :
>0x%x", guid, *val);
>> +	}
>> +}
>> +
>> +/*
>> + * After a crashlog has been "consumed" (read), setting this bit can be done.
>> + * Verify that it is set correctly.
>> + */
>> +static void test_pmt_crashlog_consumed(int dev_fd)
>> +{
>> +	uint32_t guid;
>> +	int fd;
>> +	int i;
>> +
>> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +		fd = bmg_info[i].consumed_fd;
>> +		guid = bmg_info[i].guid;
>> +
>> +		/* check, set, verify */
>> +		igt_assert_f(verify_msg(fd, DISABLE_MSG, consumed), "0x%x:
>consumed clear\n", guid);
>> +		igt_assert_f(send_msg(fd, ENABLE_MSG, consumed), "0x%x:
>set consumed\n", guid);
>> +		/* sleep(1) to allow HW to set the bit */
>> +		sleep(1);
>> +		igt_assert_f(verify_msg(fd, ENABLE_MSG, consumed), "0x%x:
>verify consumed\n", guid);
>> +	}
>> +}
>> +
>> +/*
>> + * Test the clear crashlog bit. After setting the crashlog data buffer should be
>> + * set to 0xdeadbeef.
>> + * BMG supports writing "1" to the clear file, but writing "0" (DISABLE_MSG)
>to trigger
>> + * file is the "standard" usage, so test that usage.
>> + * This bit cannot be cleared by software (i.e. reboot required).
>> + */
>> +static void test_pmt_crashlog_clear(int dev_fd)
>> +{
>> +	char buf[64] = {};
>> +	u_int32_t guid;
>> +	int crashlog_fd;
>> +	int trigger_fd;
>> +	int clear_fd;
>> +	int *val;
>> +	int len;
>> +	int i;
>> +
>> +	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +		clear_fd = bmg_info[i].clear_fd;
>> +		crashlog_fd = bmg_info[i].crashlog_fd;
>> +		trigger_fd = bmg_info[i].trigger_fd;
>> +		guid = bmg_info[i].guid;
>> +
>> +		/* make sure the bit is clear */
>> +		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x:
>verify clear\n", guid);
>> +
>> +		/* set the clear bit (0 -> trigger)*/
>> +		igt_assert_f(send_msg(trigger_fd, DISABLE_MSG, trigger),
>"0x%x: send enable\n", guid);
>> +
>> +		/* make sure the bit is set.  sleep() to allow HW to set the bit */
>> +		sleep(1);
>> +		igt_assert_f(verify_msg(clear_fd, ENABLE_MSG, clear), "0x%x:
>clear set\n", guid);
>> +
>> +		len = read(crashlog_fd, buf, sizeof(buf));
>> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog
>data\n", guid);
>> +
>> +		val = (int *)buf;
>> +		igt_assert_f(*val == 0xdeadbeef, "0x%x: invalid clear data value:
>: 0x%x", guid, *val);
>> +	}
>> +}
>> +#endif
>> +
>> +/**
>> + * SUBTEST: pmt-bmg-all
>> + * Description:
>> + *   Because of how the Crashlog Instances behave, these tests are ordered.
>Do not use them
>> + *   individually unless you understand the underlying HW behavior.  Because
>of this behavior,
>> + *   all of the test will be done in order in one step.
>> + *   NOTE:
>> + *     o Testing MUST be done after a cold reset
>> + *     o Once crashlog is triggered the device behavior is undefined and
>requires a cold reset
>> + *
>> + *  Test category: functionality test
>> + */
>> +static void test_pmt_bmg(int fd)
>> +{
>> +	test_pmt_directories(fd);
>> +
>> +	test_pmt_telemetry_files(fd);
>> +	test_pmt_telemetry_read_data(fd);
>> +
>> +	test_pmt_crashlog_files(fd);
>> +	test_pmt_crashlog_error(fd);
>> +	test_pmt_crashlog_enable(fd);
>> +	test_pmt_crashlog_rearm(fd);
>> +
>> +#if PMT_CRASHLOG_TRIGGER_ENABLE
>> +	test_pmt_crashlog_trigger(fd);
>> +	test_pmt_crashlog_consumed(fd);
>> +	test_pmt_crashlog_clear(fd);
>> +#endif
>> +}
>> +
>> +int igt_main()
>> +{
>> +	const struct {
>> +		const char *name;
>> +		void (*func)(int);
>> +	} funcs[] = {
>> +		{ "pmt-bmg-all", test_pmt_bmg },
>> +		{ }
>> +	}, *f;
>> +	int dev_fd;
>> +
>> +	igt_fixture() {
>> +		uint16_t dev_id;
>> +
>> +		dev_fd = drm_open_driver(DRIVER_XE);
>> +		dev_id = intel_get_drm_devid(dev_fd);
>> +		igt_require_f(IS_BATTLEMAGE(dev_id), "PMT supported on
>BMG GPU\n");
>> +	}
>> +
>> +	igt_describe("PMT access and API testing");
>> +	for (f = funcs; f->name; f++) {
>> +		igt_subtest_f("%s", f->name)
>> +			f->func(dev_fd);
>> +	}
>> +
>> +	igt_fixture()
>> +		drm_close_driver(dev_fd);
>> +}
>> --
>> 2.43.0
>>

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

* RE: [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT
  2026-11-11 19:23   ` Rodrigo Vivi
@ 2026-11-12 14:25     ` Ruhl, Michael J
  0 siblings, 0 replies; 11+ messages in thread
From: Ruhl, Michael J @ 2026-11-12 14:25 UTC (permalink / raw)
  To: Vivi, Rodrigo
  Cc: igt-dev@lists.freedesktop.org, Scarbrough, Frank,
	david.e.box@linux.intel.com

>-----Original Message-----
>From: Vivi, Rodrigo <rodrigo.vivi@intel.com>
>Sent: Wednesday, November 11, 2026 2:24 PM
>To: Ruhl, Michael J <michael.j.ruhl@intel.com>
>Cc: igt-dev@lists.freedesktop.org; Scarbrough, Frank
><frank.scarbrough@intel.com>; david.e.box@linux.intel.com
>Subject: Re: [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT
>
>On Wed, Oct 28, 2026 at 01:05:02PM -0700, Michael J. Ruhl wrote:
>> Crescent Island (CRI) devices have the Platform Monitoring
>> Technology (PMT) support for the telemetry and crashlog
>> (type 1/version2) functions.
>>
>> Add test support for the device.
>>
>> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
>> ---
>>  tests/intel/xe_pmt.c | 259 ++++++++++++++++++++++++++++---------------
>>  1 file changed, 171 insertions(+), 88 deletions(-)
>>
>> diff --git a/tests/intel/xe_pmt.c b/tests/intel/xe_pmt.c
>> index af5d470b5..ebd3fe3f6 100644
>> --- a/tests/intel/xe_pmt.c
>> +++ b/tests/intel/xe_pmt.c
>> @@ -8,6 +8,7 @@
>>  #include <fcntl.h>
>>  #include <limits.h>
>>  #include <string.h>
>> +#include <linux/limits.h>
>>
>>  #include "igt.h"
>>  #include "igt_sysfs.h"
>> @@ -25,9 +26,9 @@
>>   * Description: Verify that the available PMT files (crashlog and telemetry)
>>   *   are created, are accessable, and respond as per design.
>>   *
>> - * SUBTEST: pmt-bmg-all
>> + * SUBTEST: pmt-api
>>   * Description:
>> - *   Exercise the BMG PMT feature
>> + *   Verify that the correct PMT sysfs file exist and verify access
>>   *
>>   */
>>
>> @@ -40,16 +41,34 @@ IGT_TEST_DESCRIPTION("Verify Platform Monitoring
>Technology (PMT) files operatio
>>  #define TELEMETRY_DIR "telem"
>>
>>  /* itemize the available instances for the specific device */
>> -enum bmg_crashlog_instances {
>> -	bmg_crashlog_punit = 0,
>> -	bmg_crashlog_oobmsm,
>> -	bmg_crashlog_max
>> +enum pmt_device {
>> +	PMT_DEVICE_BMG,
>> +	PMT_DEVICE_CRI,
>>  };
>>
>> -enum bmg_telemety_instances {
>> -	bmg_telemetry_punit = 0,
>> -	bmg_telemetry_oobmsm,
>> -	bmg_telemetry_max
>> +struct pmt_device_info {
>> +	uint32_t max_crashlog;
>> +	uint32_t max_telem;
>> +};
>> +
>> +#define BMG_CRASHLOG_MAX	(2)
>> +#define BMG_TELEM_MAX		(2)
>> +
>> +#define CRI_CRASHLOG_MAX	(2)
>> +#define CRI_TELEM_MAX		(3)
>> +
>> +#define CRASHLOG_MAX		CRI_CRASHLOG_MAX
>> +#define TELEM_MAX		CRI_TELEM_MAX
>> +
>> +struct pmt_device_info device_info[] = {
>> +	[PMT_DEVICE_BMG] = {
>> +		.max_crashlog = BMG_CRASHLOG_MAX,
>> +		.max_telem = BMG_TELEM_MAX,
>> +	},
>> +	[PMT_DEVICE_CRI] = {
>> +		.max_crashlog = CRI_CRASHLOG_MAX,
>> +		.max_telem = CRI_TELEM_MAX,
>> +	},
>>  };
>>
>>  static char dev_path[PATH_MAX];
>> @@ -59,13 +78,18 @@ static char work_path[PATH_MAX * 2];
>>   * In most case there should be a single instance of the crashlog and
>telemetry
>>   * directories. If DVSEC entries are not contiguous the structure will be
>different,
>>   * and the code will need to reflect the structure.
>> + * vsec directory string size is sizeof(xxx_DIR) + idx.  For instance:
>> + *    intel_vsec.crashlog.3
>> + *    intel_vsec.telemetry.23
>>   */
>> -static char crashlog_vsec_dir[32];
>> -static char telemetry_vsec_dir[32];
>> +#define MAX_VSEC_DIR (32)
>> +
>> +static char crashlog_vsec_dir[MAX_VSEC_DIR];
>> +static char telemetry_vsec_dir[MAX_VSEC_DIR];
>>
>>  /* This needs to be specific for each supported device */
>> -static char crashlog_dir[bmg_crashlog_max][32];
>> -static char telemetry_dir[bmg_telemetry_max][32];
>> +static char crashlog_dir[CRASHLOG_MAX][MAX_VSEC_DIR];
>> +static char telemetry_dir[TELEM_MAX][MAX_VSEC_DIR];
>>
>>  /* telemetry file names */
>>  static const char *telem = "telem";
>> @@ -90,7 +114,7 @@ struct crashlog_v2_info {
>>  	int rearm_fd;
>>  	int trigger_fd;
>>  	u_int32_t guid;
>> -} bmg_info[bmg_crashlog_max];
>> +} crashlog_info[CRASHLOG_MAX];
>>
>>  #define DEV_PATH_LEN 80
>>
>> @@ -121,17 +145,22 @@ static char *device_sysfs_path(int fd, char *path)
>>  /*
>>   * Verify the PMT directory structure
>>   *
>> - * BMG PMT directory structure:
>> + * BMG/CRI PMT directory structure:
>>   *   device/intel_vsec.crashlog.x/intel_pmt/crashlog<a,b>
>>   *   device/intel_vsec.telemetry.x/intel_pmt/telemetry<c,d>
>>   *
>>   * Note: different platforms could have a different pattern
>>   */
>> -static void test_pmt_directories(int dev_fd)
>> +static void test_pmt_directories(int dev_fd, enum pmt_device pmt_dev)
>>  {
>>  	struct dirent *ent;
>> -	int index;
>> +	uint32_t index;
>>  	DIR *dir;
>> +	uint32_t max_crashlog;
>> +	uint32_t max_telem;
>> +
>> +	max_crashlog = device_info[pmt_dev].max_crashlog;
>> +	max_telem = device_info[pmt_dev].max_telem;
>>
>>  	igt_assert(device_sysfs_path(dev_fd, dev_path));
>>
>> @@ -161,7 +190,7 @@ static void test_pmt_directories(int dev_fd)
>>  	/* find the crashlog<x> directory instances */
>>  	while ((ent = readdir(dir)) != NULL) {
>>  		if (strncmp(CRASHLOG_DIR, ent->d_name,
>sizeof(CRASHLOG_DIR) - 1) == 0) {
>> -			if (index < bmg_crashlog_max)
>> +			if (index < max_crashlog)
>>  				strcpy(crashlog_dir[index], ent->d_name);
>>  			index++;
>>  		}
>> @@ -169,8 +198,9 @@ static void test_pmt_directories(int dev_fd)
>>
>>  	closedir(dir);
>>
>> -	igt_assert_f(index == bmg_crashlog_max, "too many crashlog entries
>%d\n", index);
>> -	for (int i = 0; i < ARRAY_SIZE(crashlog_dir); i++)
>> +	igt_assert_f(index == max_crashlog, "unexpected crashlog entries: %d
>vs expected: %d\n",
>> +		     index, max_crashlog);
>> +	for (int i = 0; i < max_crashlog && i < ARRAY_SIZE(crashlog_dir); i++)
>>  		igt_assert_f(strlen(crashlog_dir[i]), "missing crashlog[%d]
>directory\n", i);
>>
>>  	/* verify telemetry directory structure */
>> @@ -182,7 +212,7 @@ static void test_pmt_directories(int dev_fd)
>>  	index = 0;
>>  	while ((ent = readdir(dir)) != NULL) {
>>  		if (strncmp(TELEMETRY_DIR, ent->d_name,
>sizeof(TELEMETRY_DIR) - 1) == 0) {
>> -			if (index < bmg_telemetry_max)
>> +			if (index < max_telem)
>>  				strcpy(telemetry_dir[index], ent->d_name);
>>  			index++;
>>  		}
>> @@ -190,8 +220,9 @@ static void test_pmt_directories(int dev_fd)
>>
>>  	closedir(dir);
>>
>> -	igt_assert_f(index == bmg_telemetry_max, "too many telemetry entries
>%d\n", index);
>> -	for (int i = 0; i < ARRAY_SIZE(telemetry_dir); i++)
>> +	igt_assert_f(index == max_telem, "unexpected telemetry entries: %d  vs
>expected: %d\n",
>> +		     index, max_telem);
>> +	for (int i = 0; i < max_telem && i < ARRAY_SIZE(telemetry_dir); i++)
>>  		igt_assert_f(strlen(telemetry_dir[i]), "missing telemetry[%d]
>directory\n", i);
>>
>>  }
>> @@ -227,11 +258,11 @@ static void open_pmt_file(const char *path, const
>char *file, int *fd, int flags
>>  /*
>>   * verify that the expected telemetry file(s) are in place
>>   */
>> -static void test_pmt_telemetry_files(int dev_fd)
>> +static void test_pmt_telemetry_files(int dev_fd, enum pmt_device pmt_dev)
>>  {
>>  	int i;
>>
>> -	for (i = 0; i < bmg_telemetry_max; i++) {
>> +	for (i = 0; i < device_info[pmt_dev].max_telem; i++) {
>>  		sprintf(work_path, "%s/%s/%s/%s", dev_path,
>telemetry_vsec_dir,
>>  			"intel_pmt", telemetry_dir[i]);
>>  		find_pmt_file(work_path, telem);
>> @@ -241,7 +272,7 @@ static void test_pmt_telemetry_files(int dev_fd)
>>  /*
>>   * verify that a read will be successful
>>   */
>> -static void test_pmt_telemetry_read_data(int dev_fd)
>> +static void test_pmt_telemetry_read_data(int dev_fd, enum pmt_device
>pmt_dev)
>>  {
>>  	char buf[64] = {};
>>  	u_int32_t *val;
>> @@ -252,7 +283,7 @@ static void test_pmt_telemetry_read_data(int
>dev_fd)
>>  	int len;
>>  	int i;
>>
>> -	for (i = 0; i < bmg_telemetry_max; i++) {
>> +	for (i = 0; i < device_info[pmt_dev].max_telem; i++) {
>>  		sprintf(work_path, "%s/%s/%s/%s", dev_path,
>telemetry_vsec_dir,
>>  			"intel_pmt", telemetry_dir[i]);
>>  		open_pmt_file(work_path, telem, &telem_fd, O_RDONLY);
>> @@ -278,29 +309,29 @@ static void test_pmt_telemetry_read_data(int
>dev_fd)
>>  /*
>>   * verify that the expected crashlog files are in place
>>   */
>> -static void test_pmt_crashlog_files(int dev_fd)
>> +static void test_pmt_crashlog_files(int dev_fd, enum pmt_device pmt_dev)
>>  {
>>  	char buf[64] = {};
>>  	int ret;
>>  	int i;
>>
>> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>>  		sprintf(work_path, "%s/%s/%s/%s", dev_path,
>crashlog_vsec_dir, "intel_pmt",
>>  			crashlog_dir[i]);
>>
>> -		open_pmt_file(work_path, clear, &bmg_info[i].clear_fd,
>O_RDONLY);
>> -		open_pmt_file(work_path, consumed,
>&bmg_info[i].consumed_fd, O_RDWR);
>> -		open_pmt_file(work_path, crashlog, &bmg_info[i].crashlog_fd,
>O_RDONLY);
>> -		open_pmt_file(work_path, enable, &bmg_info[i].enable_fd,
>O_RDWR);
>> -		open_pmt_file(work_path, error, &bmg_info[i].error_fd,
>O_RDONLY);
>> -		open_pmt_file(work_path, dev_guid, &bmg_info[i].guid_fd,
>O_RDONLY);
>> -		open_pmt_file(work_path, rearm, &bmg_info[i].rearm_fd,
>O_RDWR);
>> -		open_pmt_file(work_path, trigger, &bmg_info[i].trigger_fd,
>O_RDWR);
>> +		open_pmt_file(work_path, clear, &crashlog_info[i].clear_fd,
>O_RDONLY);
>> +		open_pmt_file(work_path, consumed,
>&crashlog_info[i].consumed_fd, O_RDWR);
>> +		open_pmt_file(work_path, crashlog,
>&crashlog_info[i].crashlog_fd, O_RDONLY);
>> +		open_pmt_file(work_path, enable,
>&crashlog_info[i].enable_fd, O_RDWR);
>> +		open_pmt_file(work_path, error, &crashlog_info[i].error_fd,
>O_RDONLY);
>> +		open_pmt_file(work_path, dev_guid,
>&crashlog_info[i].guid_fd, O_RDONLY);
>> +		open_pmt_file(work_path, rearm, &crashlog_info[i].rearm_fd,
>O_RDWR);
>> +		open_pmt_file(work_path, trigger, &crashlog_info[i].trigger_fd,
>O_RDWR);
>>
>> -		ret = pread(bmg_info[i].guid_fd, buf, sizeof(buf), 0);
>> +		ret = pread(crashlog_info[i].guid_fd, buf, sizeof(buf), 0);
>>  		igt_assert_f(ret > 0, "failed to read guid for device %d\n", i);
>> -		bmg_info[i].guid = strtol(buf, NULL, 16);
>> -		igt_assert_f(bmg_info[i].guid > 0, "failed to set guid for device
>%d\n", i);
>> +		crashlog_info[i].guid = strtol(buf, NULL, 16);
>> +		igt_assert_f(crashlog_info[i].guid > 0, "failed to set guid for
>device %d\n", i);
>>  	}
>>  }
>>
>> @@ -336,15 +367,15 @@ static bool verify_msg(int fd, const char *msg,
>const char *file) {
>>  /*
>>   * Set enable enable/disable bit and verify usage
>>   */
>> -static void test_pmt_crashlog_enable(int dev_fd)
>> +static void test_pmt_crashlog_enable(int dev_fd, enum pmt_device
>pmt_dev)
>>  {
>>  	u_int32_t guid;
>>  	int fd;
>>  	int i;
>>
>> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> -		fd = bmg_info[i].enable_fd;
>> -		guid = bmg_info[i].guid;
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>> +		fd = crashlog_info[i].enable_fd;
>> +		guid = crashlog_info[i].guid;
>>
>>  		/* force enable so we are in a known state */
>>  		igt_assert_f(send_msg(fd, ENABLE_MSG, enable), "0x%x: send
>enable\n", guid);
>> @@ -365,14 +396,14 @@ static void test_pmt_crashlog_enable(int dev_fd)
>>   * The error bit is set when a crashlog fails in HW.  It is read only so only
>>   * need to verify that it is "0".
>>   */
>> -static void test_pmt_crashlog_error(int dev_fd)
>> +static void test_pmt_crashlog_error(int dev_fd, enum pmt_device pmt_dev)
>>  {
>>  	uint32_t guid;
>>  	int i;
>>
>> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> -		guid = bmg_info[i].guid;
>> -		igt_assert_f(verify_msg(bmg_info[i].error_fd, DISABLE_MSG,
>error),
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>> +		guid = crashlog_info[i].guid;
>> +		igt_assert_f(verify_msg(crashlog_info[i].error_fd,
>DISABLE_MSG, error),
>>  			     "0x%x: error clear\n", guid);
>>  	}
>>  }
>> @@ -381,24 +412,65 @@ static void test_pmt_crashlog_error(int dev_fd)
>>   * The rearm bit is set at cold boot.  It cannot be reset unless are real crashlog
>>   * occurs (i.e. setting trigger will not change its value).  Verify that it is "1".
>>   */
>> -static void test_pmt_crashlog_rearm(int dev_fd)
>> +static void test_pmt_crashlog_rearm(int dev_fd, size_t pmt_dev)
>>  {
>>  	uint32_t guid;
>>  	int i;
>>
>> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> -		guid = bmg_info[i].guid;
>> -		igt_assert_f(verify_msg(bmg_info[i].rearm_fd, ENABLE_MSG,
>rearm),
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>> +		guid = crashlog_info[i].guid;
>> +		igt_assert_f(verify_msg(crashlog_info[i].rearm_fd,
>ENABLE_MSG, rearm),
>>  			     "0x%x: rearm set\n", guid);
>>  	}
>>  }
>>
>> +/*
>> + * Verify the crashlog data is in the initialized state
>> + * 0xdeadbeef BMG PUINT/OOBMSM default, CRI PUNIT default
>> + * 0xba0b6afe CRI OOBMSM default
>> + */
>> +static void test_pmt_crashlog_inited(int dev_fd, enum pmt_device pmt_dev)
>> +{
>> +	char buf[64] = {};
>> +	u_int32_t guid;
>> +	int crashlog_fd;
>> +	int clear_fd;
>> +	int *val;
>> +	int len;
>> +	int i;
>> +
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>> +		clear_fd = crashlog_info[i].clear_fd;
>> +		crashlog_fd = crashlog_info[i].crashlog_fd;
>> +		guid = crashlog_info[i].guid;
>> +
>> +		/* make sure the bit is clear */
>> +		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x:
>verify clear\n", guid);
>> +
>> +		len = read(crashlog_fd, buf, sizeof(buf));
>> +		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog
>data\n", guid);
>> +
>> +		val = (int *)buf;
>> +		igt_assert_f(*val == 0xdeadbeef || *val == 0xba0b6afe,
>> +			     "0x%x: invalid clear data value: : 0x%x\n", guid, *val);
>
>perhaps here it should be a igt_skip instead?

If the data is not one of these values, the test should fail... why would we skip it?

Thanks,

M


>> +	}
>> +}
>> +
>>  //#define PMT_CRASHLOG_TRIGGER_ENABLE 1
>>  #if PMT_CRASHLOG_TRIGGER_ENABLE
>> +/*
>> + * Triggering a Crashlog requires a power cycle to return the device to a
>usable
>> + * state.
>> + * This is very disruptive and doesn't necessarily verify much more than the
>> + * current set of tests.
>> + * Commentting out the trigger, consumed, clear path for "normal" testing.
>> + * Compile flag so these tests can be done expclity.
>> + */
>> +
>>  /*
>>   * Set the manual trigger bit and make sure the data is not 0xdeadbeef
>>   */
>> -static void test_pmt_crashlog_trigger(int dev_fd)
>> +static void test_pmt_crashlog_trigger(int dev_fd, size_t pmt_dev)
>>  {
>>  	char buf[64] = {};
>>  	u_int32_t *val;
>> @@ -408,10 +480,10 @@ static void test_pmt_crashlog_trigger(int dev_fd)
>>  	int len;
>>  	int i;
>>
>> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> -		crashlog_fd = bmg_info[i].crashlog_fd;
>> -		trigger_fd = bmg_info[i].trigger_fd;
>> -		guid = bmg_info[i].guid;
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>> +		crashlog_fd = crashlog_info[i].crashlog_fd;
>> +		trigger_fd = crashlog_info[i].trigger_fd;
>> +		guid = crashlog_info[i].guid;
>>
>>  		/* make sure the bit is clear */
>>  		igt_assert_f(verify_msg(trigger_fd, DISABLE_MSG, trigger),
>"0x%x: trigger clear\n",
>> @@ -431,7 +503,8 @@ static void test_pmt_crashlog_trigger(int dev_fd)
>>
>>  		val = (u_int32_t *)buf;
>>
>> -		igt_assert_f(*val != 0xdeadbeef, "0x%x: invalid trigger value: :
>0x%x", guid, *val);
>> +		igt_assert_f(*val != 0xdeadbeef && *val != 0xba0b6afe,
>> +			     "0x%x: invalid trigger value: : 0x%x\n", guid, *val);
>>  	}
>>  }
>>
>> @@ -439,15 +512,15 @@ static void test_pmt_crashlog_trigger(int dev_fd)
>>   * After a crashlog has been "consumed" (read), setting this bit can be done.
>>   * Verify that it is set correctly.
>>   */
>> -static void test_pmt_crashlog_consumed(int dev_fd)
>> +static void test_pmt_crashlog_consumed(int dev_fd, enum pmt_device
>pmt_dev)
>>  {
>>  	uint32_t guid;
>>  	int fd;
>>  	int i;
>>
>> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> -		fd = bmg_info[i].consumed_fd;
>> -		guid = bmg_info[i].guid;
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>> +		fd = crashlog_info[i].consumed_fd;
>> +		guid = crashlog_info[i].guid;
>>
>>  		/* check, set, verify */
>>  		igt_assert_f(verify_msg(fd, DISABLE_MSG, consumed), "0x%x:
>consumed clear\n", guid);
>> @@ -460,12 +533,12 @@ static void test_pmt_crashlog_consumed(int
>dev_fd)
>>
>>  /*
>>   * Test the clear crashlog bit. After setting the crashlog data buffer should be
>> - * set to 0xdeadbeef.
>> + * set to 0xdeadbeef or 0xba0b6afe.
>>   * BMG supports writing "1" to the clear file, but writing "0" (DISABLE_MSG)
>to trigger
>>   * file is the "standard" usage, so test that usage.
>>   * This bit cannot be cleared by software (i.e. reboot required).
>>   */
>> -static void test_pmt_crashlog_clear(int dev_fd)
>> +static void test_pmt_crashlog_clear(int dev_fd, enum pmt_device pmt_dev)
>>  {
>>  	char buf[64] = {};
>>  	u_int32_t guid;
>> @@ -476,11 +549,11 @@ static void test_pmt_crashlog_clear(int dev_fd)
>>  	int len;
>>  	int i;
>>
>> -	for (i = 0; i < ARRAY_SIZE(bmg_info); i++) {
>> -		clear_fd = bmg_info[i].clear_fd;
>> -		crashlog_fd = bmg_info[i].crashlog_fd;
>> -		trigger_fd = bmg_info[i].trigger_fd;
>> -		guid = bmg_info[i].guid;
>> +	for (i = 0; i < device_info[pmt_dev].max_crashlog; i++) {
>> +		clear_fd = crashlog_info[i].clear_fd;
>> +		crashlog_fd = crashlog_info[i].crashlog_fd;
>> +		trigger_fd = crashlog_info[i].trigger_fd;
>> +		guid = crashlog_info[i].guid;
>>
>>  		/* make sure the bit is clear */
>>  		igt_assert_f(verify_msg(clear_fd, DISABLE_MSG, clear), "0x%x:
>verify clear\n", guid);
>> @@ -496,39 +569,45 @@ static void test_pmt_crashlog_clear(int dev_fd)
>>  		igt_assert_f(len == sizeof(buf), "0x%x: failed to read crashlog
>data\n", guid);
>>
>>  		val = (int *)buf;
>> -		igt_assert_f(*val == 0xdeadbeef, "0x%x: invalid clear data value:
>: 0x%x", guid, *val);
>> +		igt_assert_f(*val == 0xdeadbeef || *val == 0xba0b6afe,
>> +			     "0x%x: invalid clear data value: : 0x%x\n", guid, *val);
>>  	}
>>  }
>>  #endif
>>
>>  /**
>> - * SUBTEST: pmt-bmg-all
>> + * SUBTEST: pmt-api
>>   * Description:
>>   *   Because of how the Crashlog Instances behave, these tests are ordered.
>Do not use them
>>   *   individually unless you understand the underlying HW behavior.  Because
>of this behavior,
>> - *   all of the test will be done in order in one step.
>> + *   all of the test will be done in order in one sub-test.
>> + *
>> + *   Crashlog will cause the GPU to be in an un-useful state.  Reseting to
>recover
>> + *   is not yet fully defined.
>>   *   NOTE:
>> + *     o PMT file info is accumulated from successful tests and is used in
>sequence
>>   *     o Testing MUST be done after a cold reset
>>   *     o Once crashlog is triggered the device behavior is undefined and
>requires a cold reset
>>   *
>>   *  Test category: functionality test
>>   */
>> -static void test_pmt_bmg(int fd)
>> +static void test_pmt_api(int fd, enum pmt_device pmt_dev)
>>  {
>> -	test_pmt_directories(fd);
>> +	test_pmt_directories(fd, pmt_dev);
>>
>> -	test_pmt_telemetry_files(fd);
>> -	test_pmt_telemetry_read_data(fd);
>> +	test_pmt_telemetry_files(fd, pmt_dev);
>> +	test_pmt_telemetry_read_data(fd, pmt_dev);
>>
>> -	test_pmt_crashlog_files(fd);
>> -	test_pmt_crashlog_error(fd);
>> -	test_pmt_crashlog_enable(fd);
>> -	test_pmt_crashlog_rearm(fd);
>> +	test_pmt_crashlog_files(fd, pmt_dev);
>> +	test_pmt_crashlog_error(fd, pmt_dev);
>> +	test_pmt_crashlog_enable(fd, pmt_dev);
>> +	test_pmt_crashlog_rearm(fd, pmt_dev);
>> +	test_pmt_crashlog_inited(fd, pmt_dev);
>>
>>  #if PMT_CRASHLOG_TRIGGER_ENABLE
>> -	test_pmt_crashlog_trigger(fd);
>> -	test_pmt_crashlog_consumed(fd);
>> -	test_pmt_crashlog_clear(fd);
>> +	test_pmt_crashlog_trigger(fd, pmt_dev);
>> +	test_pmt_crashlog_consumed(fd, pmt_dev);
>> +	test_pmt_crashlog_clear(fd, pmt_dev);
>>  #endif
>>  }
>>
>> @@ -536,25 +615,29 @@ int igt_main()
>>  {
>>  	const struct {
>>  		const char *name;
>> -		void (*func)(int);
>> +		void (*func)(int, enum pmt_device);
>>  	} funcs[] = {
>> -		{ "pmt-bmg-all", test_pmt_bmg },
>> +		{ "pmt-api", test_pmt_api },
>>  		{ }
>>  	}, *f;
>>  	int dev_fd;
>> +	enum pmt_device pmt_dev;
>>
>>  	igt_fixture() {
>>  		uint16_t dev_id;
>>
>>  		dev_fd = drm_open_driver(DRIVER_XE);
>>  		dev_id = intel_get_drm_devid(dev_fd);
>> -		igt_require_f(IS_BATTLEMAGE(dev_id), "PMT supported on
>BMG GPU\n");
>> +		igt_require_f(IS_BATTLEMAGE(dev_id) ||
>IS_CRESCENTISLAND(dev_id),
>> +			      "PMT supported on BMG or CRI GPUs\n");
>> +
>> +		pmt_dev = IS_BATTLEMAGE(dev_id) ? PMT_DEVICE_BMG :
>PMT_DEVICE_CRI;
>>  	}
>>
>>  	igt_describe("PMT access and API testing");
>>  	for (f = funcs; f->name; f++) {
>>  		igt_subtest_f("%s", f->name)
>> -			f->func(dev_fd);
>> +			f->func(dev_fd, pmt_dev);
>>  	}
>>
>>  	igt_fixture()
>> --
>> 2.43.0
>>

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

end of thread, other threads:[~2026-11-12 14:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-28 20:05 [PATCH i-g-t v2 0/2] Support PMT for BMG and CRI devices Michael J. Ruhl
2026-10-28 20:05 ` [PATCH i-g-t v2 1/2] test/intel/xe_pmt: Add testing for BMG PMT features Michael J. Ruhl
2026-11-11 19:23   ` Rodrigo Vivi
2026-11-12 14:20     ` Ruhl, Michael J
2026-10-28 20:05 ` [PATCH i-g-t v2 2/2] test/intel/xe_pmt: Support CRI PMT Michael J. Ruhl
2026-11-11 19:23   ` Rodrigo Vivi
2026-11-12 14:25     ` Ruhl, Michael J
2026-10-28 23:18 ` ✓ Xe.CI.BAT: success for Support PMT for BMG and CRI devices (rev2) Patchwork
2026-10-28 23:38 ` ✓ i915.CI.BAT: " Patchwork
2026-10-29  8:58 ` ✗ i915.CI.Full: failure " Patchwork
2026-10-29 12:26 ` ✓ Xe.CI.FULL: success " Patchwork

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