All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT
@ 2023-07-06 10:44 Himal Prasad Ghimiray
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles Himal Prasad Ghimiray
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Himal Prasad Ghimiray @ 2023-07-06 10:44 UTC (permalink / raw)
  To: igt-dev; +Cc: Upadhyay

With seperation of GT and tiles in KMD, we will have sysfs entries
for properties associated with tile and gtX sysfs parent will be moving
under tileX. This series provides helper functions for accessing tile
associated sysfs entries and gt specific sysfs under respective tile.

series addresses gt related sysfs path change for xe_guc_pc.c test case 
and introduces new test to verify addr_range for each vram.

Cc: Priyanka Dandamudi <priyanka.dandamudi@intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Francois Dugast <francois.dugast@intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Upadhyay <tejas.upadhyay@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>

Himal Prasad Ghimiray (4):
  lib/igt_sysfs: Add support to query number of tiles
  lib/igt_sysfs: Handling gt related sysfs uapi changes
  tests/xe/xe_guc_pc: Change the sysfs paths
  tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram
    addr_range

 lib/igt_sysfs.c               | 117 ++++++++++++++++++++++++++++++++++
 lib/igt_sysfs.h               |  11 ++++
 tests/meson.build             |   1 +
 tests/xe/xe_guc_pc.c          |  14 +++-
 tests/xe/xe_sysfs_tile_prop.c |  63 ++++++++++++++++++
 5 files changed, 204 insertions(+), 2 deletions(-)
 create mode 100644 tests/xe/xe_sysfs_tile_prop.c

-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles
  2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
@ 2023-07-06 10:44 ` Himal Prasad Ghimiray
  2023-07-06 23:46   ` Dixit, Ashutosh
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes Himal Prasad Ghimiray
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Himal Prasad Ghimiray @ 2023-07-06 10:44 UTC (permalink / raw)
  To: igt-dev; +Cc: Upadhyay

With tile and GT seperation in KMD, we need to know
number of tiles supported by platform.
We will need to access tile associated properties from IGT.
Hence adding iterator for all supported tiles.

v2:
- Calculate number of tiles once within iterator. (Rahul)
- Use snprintf instead of sprintf.

v3:
- Remove unrequired for_each_sysfs_tile_dirfd (Ashutosh)

v4:
- Implement tiles related functions in lib.

Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Upadhyay <tejas.upadhyay@intel.com>
Cc: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
 lib/igt_sysfs.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_sysfs.h | 10 +++++++
 2 files changed, 87 insertions(+)

diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c
index 0876f4c6b..dcb38cfc9 100644
--- a/lib/igt_sysfs.c
+++ b/lib/igt_sysfs.c
@@ -903,3 +903,80 @@ void igt_sysfs_engines(int xe, int engines, const char **property,
 		close(engine_fd);
 	}
 }
+
+/**
+ * xe_sysfs_tile_path:
+ * @device: fd of the device
+ * @tile: tile number
+ * @path: buffer to fill with the sysfs tile path to the device
+ * @pathlen: length of @path buffer
+ *
+ * This finds the sysfs directory corresponding to @device and @tile. If the tile
+ * specific directory is not available and tile is 0, path is filled with sysfs
+ * base directory.
+ *
+ * Returns:
+ * The directory path, or NULL on failure.
+ */
+char *xe_sysfs_tile_path(int xe_device, int tile, char *path, int pathlen)
+{
+	struct stat st;
+
+	if (xe_device < 0)
+		return NULL;
+
+	if (igt_debug_on(fstat(xe_device, &st)) || igt_debug_on(!S_ISCHR(st.st_mode)))
+		return NULL;
+
+	snprintf(path, pathlen, "/sys/dev/char/%d:%d/device/tile%d",
+		 major(st.st_rdev), minor(st.st_rdev), tile);
+
+	if (!access(path, F_OK))
+		return path;
+	if (!tile)
+		return igt_sysfs_path(xe_device, path, pathlen);
+	return NULL;
+}
+
+/**
+ * xe_sysfs_tile_open:
+ * @xe_device: fd of the device
+ * @tile: tile number
+ *
+ * This opens the sysfs tile directory corresponding to device and tile for use
+ *
+ * Returns:
+ * The directory fd, or -1 on failure.
+ */
+int xe_sysfs_tile_open(int xe_device, int tile)
+{
+	char path[96];
+
+	if (!xe_sysfs_tile_path(xe_device, tile, path, sizeof(path)))
+		return -1;
+
+	return open(path, O_RDONLY);
+}
+
+/**
+ * xe_sysfs_get_num_tiles:
+ * @xe_device: fd of the device
+ *
+ * Reads number of tile sysfs entries.
+ * Asserts for at least one tile entry.
+ * (see xe_sysfs_tile_path).
+ *
+ * Returns: Number of tiles.
+ */
+int xe_sysfs_get_num_tiles(int xe_device)
+{
+	int num_tiles = 0;
+	char path[96];
+
+	while (xe_sysfs_tile_path(xe_device, num_tiles, path, sizeof(path)))
+		++num_tiles;
+
+	igt_assert_f(num_tiles > 0, "No GT sysfs entry is found.");
+
+	return num_tiles;
+}
diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h
index 5635fc690..5d584b1c7 100644
--- a/lib/igt_sysfs.h
+++ b/lib/igt_sysfs.h
@@ -38,6 +38,11 @@
 	     (dirfd__ = igt_sysfs_gt_open(i915__, gt__)) != -1; \
 	     close(dirfd__), gt__++)
 
+#define for_each_sysfs_tile_dirfd(xe__, dirfd__, tile__) \
+	for (tile__ = 0; \
+	     (dirfd__ = xe_sysfs_tile_open(xe__, tile__)) != -1; \
+	     close(dirfd__), tile__++)
+
 #define i915_for_each_gt for_each_sysfs_gt_dirfd
 
 #define igt_sysfs_rps_write(dir, id, data, len) \
@@ -73,6 +78,8 @@
 #define igt_sysfs_rps_set_boolean(dir, id, value) \
 	igt_sysfs_set_boolean(dir, igt_sysfs_dir_id_to_name(dir, id), value)
 
+#define xe_for_each_tile for_each_sysfs_tile_dirfd
+
 enum i915_attr_id {
 	RPS_ACT_FREQ_MHZ,
 	RPS_CUR_FREQ_MHZ,
@@ -150,4 +157,7 @@ void igt_sysfs_rw_attr_verify(igt_sysfs_rw_attr_t *rw);
 void igt_sysfs_engines(int xe, int engines, const char **property,
 		       void (*test)(int, int, const char **));
 
+char *xe_sysfs_tile_path(int xe_device, int tile, char *path, int pathlen);
+int xe_sysfs_tile_open(int xe_device, int tile);
+int xe_sysfs_get_num_tiles(int xe_device);
 #endif /* __IGT_SYSFS_H__ */
-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes
  2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles Himal Prasad Ghimiray
@ 2023-07-06 10:44 ` Himal Prasad Ghimiray
  2023-07-07  0:56   ` Dixit, Ashutosh
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths Himal Prasad Ghimiray
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Himal Prasad Ghimiray @ 2023-07-06 10:44 UTC (permalink / raw)
  To: igt-dev; +Cc: Upadhyay

Patch https://patchwork.freedesktop.org/series/118927/
is moving gt sysfs parent under tile folder.

With the above patch path for sysfs changes:
from: /sys/class/drm/cardX/device/gtN/
to : /sys/class/drm/cardX/device/tileN/gtN

Adding xe_gt_sysfs_path function to access new path.

v2:
- Calculate number of tiles once within iterator. (Rahul)

v3:
- Drop usage of local variable for tilecount.
- Change order of tile and gt. (Ashutosh)

v4:
- Drop xe_for_each_gt_under_each_tile macro
  add xe_gt_sysfs_path to return path. (Ashutosh)
- Support older dir path along with new. (kamil)

v5:
- Dont use fixed paths. Find gt in available tiles. (Ashutosh)

Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Upadhyay <tejas.upadhyay@intel.com>
Cc: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
Cc: Francois Dugast <francois.dugast@intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
 lib/igt_sysfs.c | 40 ++++++++++++++++++++++++++++++++++++++++
 lib/igt_sysfs.h |  1 +
 2 files changed, 41 insertions(+)

diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c
index dcb38cfc9..445f2d325 100644
--- a/lib/igt_sysfs.c
+++ b/lib/igt_sysfs.c
@@ -980,3 +980,43 @@ int xe_sysfs_get_num_tiles(int xe_device)
 
 	return num_tiles;
 }
+
+static bool dir_exists_in_sysfd(int dirfd, char *path)
+{
+	struct stat pathstat;
+
+	if (!fstatat(dirfd, path, &pathstat, 0) && S_ISDIR(pathstat.st_mode))
+		return true;
+
+	return false;
+}
+
+/*
+ * xe_gt_sysfs_path::
+ * @sysfs: fd of sysfs
+ * @gt_id: gt id
+ *
+ * This function returns the path for gtX directory
+ */
+char *xe_gt_sysfs_path(int sysfs, int gt_id)
+{
+	char tiledir[24];
+	char gtdir[32];
+	char *gt_path;
+	int i = 0;
+
+	snprintf(tiledir, sizeof(tiledir), "device/tile0/");
+	snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
+
+	while (dir_exists_in_sysfd(sysfs, tiledir)) {
+		if (dir_exists_in_sysfd(sysfs, gtdir)) {
+			gt_path = malloc(sizeof(gtdir));
+			strcpy(gt_path, gtdir);
+			return gt_path;
+		} else {
+			snprintf(tiledir, sizeof(tiledir), "device/tile%d/", i++);
+			snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
+		}
+	}
+	igt_assert_f(false, "No gt%d dir found in sysfs\n", gt_id);
+}
diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h
index 5d584b1c7..0792c644e 100644
--- a/lib/igt_sysfs.h
+++ b/lib/igt_sysfs.h
@@ -153,6 +153,7 @@ typedef struct igt_sysfs_rw_attr {
 } igt_sysfs_rw_attr_t;
 
 void igt_sysfs_rw_attr_verify(igt_sysfs_rw_attr_t *rw);
+char *xe_gt_sysfs_path(int sysfs, int gt_id);
 
 void igt_sysfs_engines(int xe, int engines, const char **property,
 		       void (*test)(int, int, const char **));
-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths
  2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles Himal Prasad Ghimiray
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes Himal Prasad Ghimiray
@ 2023-07-06 10:44 ` Himal Prasad Ghimiray
  2023-07-07  1:01   ` Dixit, Ashutosh
  2023-07-06 10:45 ` [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram addr_range Himal Prasad Ghimiray
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Himal Prasad Ghimiray @ 2023-07-06 10:44 UTC (permalink / raw)
  To: igt-dev; +Cc: Upadhyay, Badal Nilawar

Changes to access sysfs entries under tile directory.
Access freq sysfs from /sys/class/drm/cardX/device/tileN/gtN
path.

v2:
- Use snprintf instead of sprintf and check error.
- Describe what changes are done. (Kamil)

v3:
- change order of gt and tile and drop passing tilecount.(Ashutosh)

v4:
- Rebase

v5:
- Drop usage of xe_for_each_gt_under_each_tile and use
  a function to return gt path. (Ashutosh)

v6:
- use gt_path instead of func call (Ashutosh)

Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Upadhyay <tejas.upadhyay@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Riana Tauro <riana.tauro@intel.com>
Cc: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
 tests/xe/xe_guc_pc.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/tests/xe/xe_guc_pc.c b/tests/xe/xe_guc_pc.c
index 827693eb4..d70b08d1e 100644
--- a/tests/xe/xe_guc_pc.c
+++ b/tests/xe/xe_guc_pc.c
@@ -137,8 +137,13 @@ static int set_freq(int sysfs, int gt_id, const char *freq_name, uint32_t freq)
 {
 	int ret = -EAGAIN;
 	char path[32];
+	char *gt_path;
+
+	gt_path = xe_gt_sysfs_path(sysfs, gt_id);
+	igt_assert(snprintf(path, sizeof(path), "%s/freq_%s",
+			    gt_path, freq_name) < sizeof(path));
+	free(gt_path);
 
-	sprintf(path, "device/gt%d/freq_%s", gt_id, freq_name);
 	while (ret == -EAGAIN)
 		ret = igt_sysfs_printf(sysfs, path, "%u", freq);
 	return ret;
@@ -149,7 +154,12 @@ static uint32_t get_freq(int sysfs, int gt_id, const char *freq_name)
 	uint32_t freq;
 	int err = -EAGAIN;
 	char path[32];
-	sprintf(path, "device/gt%d/freq_%s", gt_id, freq_name);
+	char *gt_path;
+
+	gt_path = xe_gt_sysfs_path(sysfs, gt_id);
+	igt_assert(snprintf(path, sizeof(path), "%s/freq_%s",
+			    gt_path, freq_name) < sizeof(path));
+	free(gt_path);
 	while (err == -EAGAIN)
 		err = igt_sysfs_scanf(sysfs, path, "%u", &freq);
 	return freq;
-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram addr_range
  2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
                   ` (2 preceding siblings ...)
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths Himal Prasad Ghimiray
@ 2023-07-06 10:45 ` Himal Prasad Ghimiray
  2023-07-07  1:10   ` Dixit, Ashutosh
  2023-07-06 13:03 ` [igt-dev] ✓ Fi.CI.BAT: success for Handle GT and tile seperation in IGT (rev6) Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Himal Prasad Ghimiray @ 2023-07-06 10:45 UTC (permalink / raw)
  To: igt-dev; +Cc: Upadhyay

For each tile the test reads the sysfs entry physical_vram_size_bytes
and compares the value with vram size exposed from query ioctl.

v2:
- Change sysfs entry name. (Tejas)
- Change test name to xe_sysfs_tile_prop. (Rahul)

v3:
- Rectify assertion condition.

v4:
- use igt_assert_lt_u64 instead of igt_assert_lt
for comparing u64.

v5:
- update xe_for_each_tile call.

Reviewed-by: Upadhyay <tejas.upadhyay@intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Upadhyay <tejas.upadhyay@intel.com>
Cc: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
 tests/meson.build             |  1 +
 tests/xe/xe_sysfs_tile_prop.c | 63 +++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 tests/xe/xe_sysfs_tile_prop.c

diff --git a/tests/meson.build b/tests/meson.build
index ee066b849..fac9123b5 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -268,6 +268,7 @@ xe_progs = [
 	'xe_pm',
 	'xe_prime_self_import',
 	'xe_query',
+	'xe_sysfs_tile_prop',
 	'xe_vm',
 	'xe_waitfence',
 	'xe_spin_batch',
diff --git a/tests/xe/xe_sysfs_tile_prop.c b/tests/xe/xe_sysfs_tile_prop.c
new file mode 100644
index 000000000..9d5da8f22
--- /dev/null
+++ b/tests/xe/xe_sysfs_tile_prop.c
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+/**
+ * TEST: Verify physical_vram_size_bytes of each tiles
+ * SUBTEST: physical_vram_size_bytes
+ * Description:
+ *             Read sysfs entry for physical_vram_size_bytes and compare with
+ *             vram size. physical_vram_size_bytes should be more than vram size.
+ */
+
+#include <string.h>
+#include <sys/time.h>
+
+#include "igt.h"
+#include "igt_sysfs.h"
+
+#include "xe_drm.h"
+#include "xe/xe_ioctl.h"
+#include "xe/xe_query.h"
+
+static void test_vram_physical_vram_size_bytes(int sysfs, int tile_num, u64 vram_size)
+{
+	u64 physical_vram_size_bytes;
+	char path[40];
+
+	igt_assert(snprintf(path, sizeof(path), "device/tile%d/physical_vram_size_bytes",
+			    tile_num) < sizeof(path));
+	igt_assert(igt_sysfs_scanf(sysfs, path, "%lx", &physical_vram_size_bytes) > 0);
+	igt_assert_lt_u64(vram_size, physical_vram_size_bytes);
+}
+
+igt_main
+{
+	int fd, tmp;
+	int tile;
+	static int sysfs = -1;
+	u64 vram_size;
+
+	igt_fixture {
+		fd = drm_open_driver(DRIVER_XE);
+		xe_device_get(fd);
+
+		sysfs = igt_sysfs_open(fd);
+		igt_assert(sysfs != -1);
+	}
+
+	igt_subtest("physical_vram_size_bytes") {
+		igt_require(xe_has_vram(fd));
+		xe_for_each_tile(fd, tmp, tile) {
+			vram_size = xe_vram_size(fd, tile);
+			test_vram_physical_vram_size_bytes(sysfs, tile, vram_size);
+		}
+	}
+
+	igt_fixture {
+		close(sysfs);
+		xe_device_put(fd);
+		close(fd);
+	}
+}
-- 
2.25.1

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

* [igt-dev] ✓ Fi.CI.BAT: success for Handle GT and tile seperation in IGT (rev6)
  2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
                   ` (3 preceding siblings ...)
  2023-07-06 10:45 ` [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram addr_range Himal Prasad Ghimiray
@ 2023-07-06 13:03 ` Patchwork
  2023-07-06 13:12 ` [igt-dev] ○ CI.xeBAT: info " Patchwork
  2023-07-06 17:12 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  6 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-06 13:03 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: igt-dev

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

== Series Details ==

Series: Handle GT and tile seperation in IGT (rev6)
URL   : https://patchwork.freedesktop.org/series/119801/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13349 -> IGTPW_9354
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 40)
------------------------------

  Missing    (1): fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@load:
    - bat-adlp-11:        [PASS][1] -> [ABORT][2] ([i915#4423])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/bat-adlp-11/igt@i915_module_load@load.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/bat-adlp-11/igt@i915_module_load@load.html

  * igt@i915_selftest@live@requests:
    - bat-rpls-1:         [PASS][3] -> [ABORT][4] ([i915#4983] / [i915#7911] / [i915#7920])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/bat-rpls-1/igt@i915_selftest@live@requests.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/bat-rpls-1/igt@i915_selftest@live@requests.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-2:         NOTRUN -> [ABORT][5] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/bat-rpls-2/igt@i915_selftest@live@reset.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-kbl-soraka:      [DMESG-FAIL][6] ([i915#5334]) -> [PASS][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@migrate:
    - bat-dg2-11:         [DMESG-WARN][8] ([i915#7699]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/bat-dg2-11/igt@i915_selftest@live@migrate.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/bat-dg2-11/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@requests:
    - bat-rpls-2:         [ABORT][10] ([i915#7913] / [i915#7982]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/bat-rpls-2/igt@i915_selftest@live@requests.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/bat-rpls-2/igt@i915_selftest@live@requests.html
    - bat-mtlp-6:         [DMESG-FAIL][12] ([i915#7269]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/bat-mtlp-6/igt@i915_selftest@live@requests.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/bat-mtlp-6/igt@i915_selftest@live@requests.html

  
#### Warnings ####

  * igt@kms_psr@cursor_plane_move:
    - bat-rplp-1:         [SKIP][14] ([i915#1072]) -> [ABORT][15] ([i915#8434] / [i915#8668])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/bat-rplp-1/igt@kms_psr@cursor_plane_move.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/bat-rplp-1/igt@kms_psr@cursor_plane_move.html

  
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#7269]: https://gitlab.freedesktop.org/drm/intel/issues/7269
  [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920
  [i915#7982]: https://gitlab.freedesktop.org/drm/intel/issues/7982
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
  [i915#8434]: https://gitlab.freedesktop.org/drm/intel/issues/8434
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7374 -> IGTPW_9354

  CI-20190529: 20190529
  CI_DRM_13349: 7ffb88c57a657e902d4060565c15d30654721a31 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_9354: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/index.html
  IGT_7374: 470370c8c25d419eafa627e54edcf0af3b116d92 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

+igt@xe_sysfs_tile_prop@physical_vram_size_bytes

== Logs ==

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

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

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

* [igt-dev] ○ CI.xeBAT: info for Handle GT and tile seperation in IGT (rev6)
  2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
                   ` (4 preceding siblings ...)
  2023-07-06 13:03 ` [igt-dev] ✓ Fi.CI.BAT: success for Handle GT and tile seperation in IGT (rev6) Patchwork
@ 2023-07-06 13:12 ` Patchwork
  2023-07-06 17:12 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  6 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-06 13:12 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: igt-dev

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

== Series Details ==

Series: Handle GT and tile seperation in IGT (rev6)
URL   : https://patchwork.freedesktop.org/series/119801/
State : info

== Summary ==

Participating hosts:
"bat-pvc-2n""bat-atsm-2n""bat-dg2-oem2n""bat-adlp-7n"Missing hosts results[0]:
Results: [IGTPW_9354](https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_9354/index.html)



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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for Handle GT and tile seperation in IGT (rev6)
  2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
                   ` (5 preceding siblings ...)
  2023-07-06 13:12 ` [igt-dev] ○ CI.xeBAT: info " Patchwork
@ 2023-07-06 17:12 ` Patchwork
  6 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-06 17:12 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: igt-dev

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

== Series Details ==

Series: Handle GT and tile seperation in IGT (rev6)
URL   : https://patchwork.freedesktop.org/series/119801/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13349_full -> IGTPW_9354_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_9354_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_9354_full, please notify your bug team 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_9354/index.html

Participating hosts (10 -> 9)
------------------------------

  Missing    (1): shard-rkl0 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_ccs@ctrl-surf-copy-new-ctx:
    - shard-mtlp:         NOTRUN -> [SKIP][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@gem_ccs@ctrl-surf-copy-new-ctx.html

  * igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [ABORT][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-a-hdmi-a-2.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-mtlp:         NOTRUN -> [SKIP][3] ([i915#7701])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@device_reset@unbind-cold-reset-rebind.html
    - shard-dg2:          NOTRUN -> [SKIP][4] ([i915#7701])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-6/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@feature_discovery@chamelium:
    - shard-dg2:          NOTRUN -> [SKIP][5] ([i915#4854])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-2/igt@feature_discovery@chamelium.html

  * igt@gem_barrier_race@remote-request@rcs0:
    - shard-dg2:          [PASS][6] -> [ABORT][7] ([i915#7461] / [i915#8211] / [i915#8234])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-8/igt@gem_barrier_race@remote-request@rcs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-1/igt@gem_barrier_race@remote-request@rcs0.html

  * igt@gem_ccs@suspend-resume:
    - shard-tglu:         NOTRUN -> [SKIP][8] ([i915#5325])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-7/igt@gem_ccs@suspend-resume.html

  * igt@gem_create@create-ext-set-pat:
    - shard-rkl:          NOTRUN -> [FAIL][9] ([i915#8621])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_persistence@engines-hang@vcs0:
    - shard-mtlp:         [PASS][10] -> [FAIL][11] ([i915#2410])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-1/igt@gem_ctx_persistence@engines-hang@vcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@gem_ctx_persistence@engines-hang@vcs0.html

  * igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0:
    - shard-dg2:          NOTRUN -> [SKIP][12] ([i915#5882]) +9 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-2/igt@gem_ctx_persistence@saturated-hostile-nopreempt@ccs0.html

  * igt@gem_ctx_persistence@saturated-hostile@vecs0:
    - shard-mtlp:         [PASS][13] -> [FAIL][14] ([i915#7816]) +2 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@gem_ctx_persistence@saturated-hostile@vecs0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@gem_ctx_persistence@saturated-hostile@vecs0.html

  * igt@gem_eio@reset-stress:
    - shard-dg2:          [PASS][15] -> [FAIL][16] ([i915#5784]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-11/igt@gem_eio@reset-stress.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-6/igt@gem_eio@reset-stress.html

  * igt@gem_exec_balancer@full-pulse:
    - shard-dg2:          [PASS][17] -> [FAIL][18] ([i915#6032])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-1/igt@gem_exec_balancer@full-pulse.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@gem_exec_balancer@full-pulse.html

  * igt@gem_exec_balancer@noheartbeat:
    - shard-dg2:          NOTRUN -> [SKIP][19] ([i915#8555]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@gem_exec_balancer@noheartbeat.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-rkl:          NOTRUN -> [SKIP][20] ([i915#6344])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@gem_exec_capture@capture-recoverable.html

  * igt@gem_exec_capture@pi@bcs0:
    - shard-dg2:          [PASS][21] -> [FAIL][22] ([i915#4475])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-6/igt@gem_exec_capture@pi@bcs0.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-6/igt@gem_exec_capture@pi@bcs0.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [PASS][23] -> [FAIL][24] ([i915#2846])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-glk7/igt@gem_exec_fair@basic-deadline.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-glk8/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-rkl:          [PASS][25] -> [FAIL][26] ([i915#2842])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-rkl-7/igt@gem_exec_fair@basic-throttle@rcs0.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_params@secure-non-master:
    - shard-tglu:         NOTRUN -> [SKIP][27] ([fdo#112283])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-9/igt@gem_exec_params@secure-non-master.html

  * igt@gem_exec_reloc@basic-gtt-noreloc:
    - shard-mtlp:         NOTRUN -> [SKIP][28] ([i915#3281]) +4 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@gem_exec_reloc@basic-gtt-noreloc.html

  * igt@gem_exec_reloc@basic-wc-gtt-active:
    - shard-dg2:          NOTRUN -> [SKIP][29] ([i915#3281]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@gem_exec_reloc@basic-wc-gtt-active.html
    - shard-rkl:          NOTRUN -> [SKIP][30] ([i915#3281])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-6/igt@gem_exec_reloc@basic-wc-gtt-active.html

  * igt@gem_exec_schedule@reorder-wide:
    - shard-dg2:          NOTRUN -> [SKIP][31] ([i915#4537] / [i915#4812])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-6/igt@gem_exec_schedule@reorder-wide.html

  * igt@gem_exec_suspend@basic-s3@smem:
    - shard-dg2:          [PASS][32] -> [FAIL][33] ([fdo#103375] / [i915#6121]) +2 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-11/igt@gem_exec_suspend@basic-s3@smem.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-5/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-rkl:          NOTRUN -> [ABORT][34] ([i915#7975] / [i915#8213])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_exec_whisper@basic-normal-all:
    - shard-mtlp:         [PASS][35] -> [FAIL][36] ([i915#6363]) +2 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-1/igt@gem_exec_whisper@basic-normal-all.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@gem_exec_whisper@basic-normal-all.html

  * igt@gem_fenced_exec_thrash@too-many-fences:
    - shard-mtlp:         NOTRUN -> [SKIP][37] ([i915#4860])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@gem_fenced_exec_thrash@too-many-fences.html
    - shard-dg2:          NOTRUN -> [SKIP][38] ([i915#4860])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@gem_fenced_exec_thrash@too-many-fences.html

  * igt@gem_gpgpu_fill@basic@smem:
    - shard-mtlp:         NOTRUN -> [FAIL][39] ([i915#5464])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@gem_gpgpu_fill@basic@smem.html

  * igt@gem_lmem_swapping@parallel-random-verify-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][40] ([i915#4613])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-6/igt@gem_lmem_swapping@parallel-random-verify-ccs.html

  * igt@gem_media_fill@media-fill:
    - shard-mtlp:         NOTRUN -> [SKIP][41] ([i915#8289])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@gem_media_fill@media-fill.html
    - shard-dg2:          NOTRUN -> [SKIP][42] ([i915#8289])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-5/igt@gem_media_fill@media-fill.html

  * igt@gem_media_vme:
    - shard-mtlp:         NOTRUN -> [SKIP][43] ([i915#284])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-8/igt@gem_media_vme.html

  * igt@gem_mmap@short-mmap:
    - shard-dg2:          NOTRUN -> [SKIP][44] ([i915#4083]) +1 similar issue
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@gem_mmap@short-mmap.html

  * igt@gem_mmap_gtt@fault-concurrent-y:
    - shard-snb:          [PASS][45] -> [ABORT][46] ([i915#5161])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-snb2/igt@gem_mmap_gtt@fault-concurrent-y.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-snb4/igt@gem_mmap_gtt@fault-concurrent-y.html

  * igt@gem_mmap_gtt@zero-extend:
    - shard-dg2:          NOTRUN -> [SKIP][47] ([i915#4077]) +4 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@gem_mmap_gtt@zero-extend.html

  * igt@gem_partial_pwrite_pread@write-display:
    - shard-dg2:          NOTRUN -> [SKIP][48] ([i915#3282])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-12/igt@gem_partial_pwrite_pread@write-display.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-snoop:
    - shard-rkl:          NOTRUN -> [SKIP][49] ([i915#3282]) +2 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@gem_partial_pwrite_pread@writes-after-reads-snoop.html

  * igt@gem_pread@self:
    - shard-mtlp:         NOTRUN -> [SKIP][50] ([i915#3282])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@gem_pread@self.html

  * igt@gem_pxp@display-protected-crc:
    - shard-dg2:          NOTRUN -> [SKIP][51] ([i915#4270])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@gem_pxp@display-protected-crc.html

  * igt@gem_pxp@protected-encrypted-src-copy-not-readible:
    - shard-tglu:         NOTRUN -> [SKIP][52] ([i915#4270])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-5/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html

  * igt@gem_render_copy@y-tiled-to-vebox-linear:
    - shard-mtlp:         NOTRUN -> [SKIP][53] ([i915#8428]) +1 similar issue
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-8/igt@gem_render_copy@y-tiled-to-vebox-linear.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-tglu:         NOTRUN -> [SKIP][54] ([fdo#109312])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-9/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_userptr_blits@nohangcheck:
    - shard-mtlp:         [PASS][55] -> [FAIL][56] ([i915#7916])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-7/igt@gem_userptr_blits@nohangcheck.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-7/igt@gem_userptr_blits@nohangcheck.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-rkl:          NOTRUN -> [SKIP][57] ([i915#3297]) +1 similar issue
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@gem_userptr_blits@unsync-unmap.html

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

  * igt@gen7_exec_parse@chained-batch:
    - shard-dg2:          NOTRUN -> [SKIP][59] ([fdo#109289]) +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-6/igt@gen7_exec_parse@chained-batch.html

  * igt@gen7_exec_parse@load-register-reg:
    - shard-tglu:         NOTRUN -> [SKIP][60] ([fdo#109289])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-2/igt@gen7_exec_parse@load-register-reg.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-mtlp:         NOTRUN -> [SKIP][61] ([i915#2856])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-rkl:          NOTRUN -> [SKIP][62] ([i915#2527]) +1 similar issue
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_hangman@engine-engine-error@vcs0:
    - shard-mtlp:         NOTRUN -> [FAIL][63] ([i915#7069])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-8/igt@i915_hangman@engine-engine-error@vcs0.html

  * igt@i915_hangman@gt-engine-error@vcs0:
    - shard-mtlp:         [PASS][64] -> [FAIL][65] ([i915#7069])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-2/igt@i915_hangman@gt-engine-error@vcs0.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@i915_hangman@gt-engine-error@vcs0.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-dg2:          [PASS][66] -> [DMESG-WARN][67] ([i915#7061])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-6/igt@i915_module_load@reload-with-fault-injection.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-2/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][68] ([i915#3361])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_lpsp@screens-disabled:
    - shard-dg2:          NOTRUN -> [SKIP][69] ([i915#1902])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@i915_pm_lpsp@screens-disabled.html

  * igt@i915_pm_rpm@fences:
    - shard-mtlp:         NOTRUN -> [SKIP][70] ([i915#4077]) +1 similar issue
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@i915_pm_rpm@fences.html

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
    - shard-dg2:          NOTRUN -> [SKIP][71] ([fdo#109506])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-5/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html

  * igt@i915_pm_rpm@modeset-lpsp-stress:
    - shard-rkl:          [PASS][72] -> [SKIP][73] ([i915#1397])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-rkl-7/igt@i915_pm_rpm@modeset-lpsp-stress.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@i915_pm_rpm@modeset-lpsp-stress.html

  * igt@i915_selftest@live@gt_mocs:
    - shard-mtlp:         [PASS][74] -> [DMESG-FAIL][75] ([i915#7059])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-3/igt@i915_selftest@live@gt_mocs.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-5/igt@i915_selftest@live@gt_mocs.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs:
    - shard-rkl:          NOTRUN -> [SKIP][76] ([i915#8502]) +3 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs.html

  * igt@kms_async_flips@crc@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [FAIL][77] ([i915#8247]) +1 similar issue
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-1/igt@kms_async_flips@crc@pipe-a-hdmi-a-2.html

  * igt@kms_async_flips@crc@pipe-d-dp-4:
    - shard-dg2:          NOTRUN -> [FAIL][78] ([i915#8247]) +3 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@kms_async_flips@crc@pipe-d-dp-4.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][79] ([i915#5286]) +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-mtlp:         [PASS][80] -> [FAIL][81] ([i915#5138]) +1 similar issue
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-mtlp:         NOTRUN -> [SKIP][82] ([fdo#111614]) +1 similar issue
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-3/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-270:
    - shard-dg2:          NOTRUN -> [SKIP][83] ([fdo#111614]) +4 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
    - shard-rkl:          NOTRUN -> [SKIP][84] ([fdo#111614] / [i915#3638]) +1 similar issue
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-dg2:          NOTRUN -> [SKIP][85] ([i915#5190]) +3 similar issues
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-rkl:          NOTRUN -> [SKIP][86] ([fdo#110723]) +1 similar issue
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/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-32bpp-rotate-180-hflip:
    - shard-dg2:          NOTRUN -> [SKIP][87] ([i915#4538] / [i915#5190])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_ccs@pipe-a-bad-aux-stride-yf_tiled_ccs:
    - shard-tglu:         NOTRUN -> [SKIP][88] ([fdo#111615] / [i915#3689] / [i915#5354] / [i915#6095])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-4/igt@kms_ccs@pipe-a-bad-aux-stride-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_ccs:
    - shard-dg2:          NOTRUN -> [SKIP][89] ([i915#3689] / [i915#5354]) +3 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-5/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_ccs.html
    - shard-rkl:          NOTRUN -> [SKIP][90] ([i915#3734] / [i915#5354] / [i915#6095]) +1 similar issue
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][91] ([i915#6095])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_ccs.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-dg2:          NOTRUN -> [SKIP][92] ([i915#3689] / [i915#3886] / [i915#5354]) +2 similar issues
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs:
    - shard-rkl:          NOTRUN -> [SKIP][93] ([i915#5354] / [i915#6095]) +4 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
    - shard-tglu:         NOTRUN -> [SKIP][94] ([i915#3689] / [i915#3886] / [i915#5354] / [i915#6095]) +1 similar issue
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-7/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc:
    - shard-tglu:         NOTRUN -> [SKIP][95] ([i915#5354] / [i915#6095]) +1 similar issue
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-5/igt@kms_ccs@pipe-c-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc.html

  * igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs:
    - shard-dg2:          NOTRUN -> [SKIP][96] ([i915#5354]) +19 similar issues
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs.html
    - shard-rkl:          NOTRUN -> [SKIP][97] ([i915#5354]) +6 similar issues
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-6/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs.html

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

  * igt@kms_cdclk@plane-scaling@pipe-c-dp-2:
    - shard-dg2:          NOTRUN -> [SKIP][99] ([i915#4087]) +4 similar issues
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-12/igt@kms_cdclk@plane-scaling@pipe-c-dp-2.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-rkl:          NOTRUN -> [SKIP][100] ([fdo#111827]) +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_edid@vga-edid-read:
    - shard-rkl:          NOTRUN -> [SKIP][101] ([i915#7828]) +1 similar issue
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@kms_chamelium_edid@vga-edid-read.html

  * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
    - shard-dg2:          NOTRUN -> [SKIP][102] ([i915#7828]) +4 similar issues
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-mtlp:         NOTRUN -> [SKIP][103] ([i915#7828]) +2 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-4/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_color@deep-color:
    - shard-rkl:          NOTRUN -> [SKIP][104] ([i915#3555]) +5 similar issues
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@kms_color@deep-color.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2:          NOTRUN -> [SKIP][105] ([i915#7118])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-1/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@content_type_change:
    - shard-mtlp:         NOTRUN -> [SKIP][106] ([i915#6944])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@kms_content_protection@content_type_change.html

  * igt@kms_content_protection@srm@pipe-a-dp-2:
    - shard-dg2:          NOTRUN -> [TIMEOUT][107] ([i915#7173])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-12/igt@kms_content_protection@srm@pipe-a-dp-2.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-tglu:         NOTRUN -> [SKIP][108] ([fdo#109279] / [i915#3359])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-5/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-offscreen-max-size:
    - shard-dg2:          NOTRUN -> [SKIP][109] ([i915#3555]) +6 similar issues
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-1/igt@kms_cursor_crc@cursor-offscreen-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-512x170:
    - shard-mtlp:         NOTRUN -> [SKIP][110] ([i915#3359])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-4/igt@kms_cursor_crc@cursor-sliding-512x170.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [FAIL][111] ([fdo#103375] / [i915#6121]) +1 similar issue
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-5/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-3.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][112] ([fdo#109274] / [i915#5354]) +2 similar issues
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-2/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
    - shard-rkl:          NOTRUN -> [SKIP][113] ([fdo#111825]) +3 similar issues
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-6/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-glk:          [PASS][114] -> [FAIL][115] ([i915#72])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-glk4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-glk9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
    - shard-tglu:         NOTRUN -> [SKIP][116] ([fdo#109274])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-7/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
    - shard-mtlp:         NOTRUN -> [SKIP][117] ([i915#3546])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-3/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html

  * igt@kms_fbcon_fbt@psr:
    - shard-dg2:          NOTRUN -> [SKIP][118] ([i915#3469])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@kms_fbcon_fbt@psr.html
    - shard-rkl:          NOTRUN -> [SKIP][119] ([fdo#110189] / [i915#3955])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-1/igt@kms_fbcon_fbt@psr.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-snb:          NOTRUN -> [SKIP][120] ([fdo#109271] / [fdo#111767])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-snb7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][121] ([fdo#109274]) +2 similar issues
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-2/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html

  * igt@kms_flip@2x-plain-flip-ts-check-interruptible:
    - shard-tglu:         NOTRUN -> [SKIP][122] ([fdo#109274] / [i915#3637]) +1 similar issue
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-6/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][123] ([i915#2672]) +1 similar issue
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-2/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][124] ([i915#2672])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-tglu:         NOTRUN -> [SKIP][125] ([fdo#109280]) +1 similar issue
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
    - shard-mtlp:         NOTRUN -> [SKIP][126] ([i915#1825]) +4 similar issues
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-rkl:          [PASS][127] -> [FAIL][128] ([fdo#103375]) +1 similar issue
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][129] ([i915#3458]) +6 similar issues
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt.html
    - shard-rkl:          NOTRUN -> [SKIP][130] ([i915#3023]) +6 similar issues
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][131] ([i915#8708]) +1 similar issue
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][132] ([i915#5439])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][133] ([i915#8708]) +4 similar issues
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][134] ([fdo#111825] / [i915#1825]) +8 similar issues
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-rkl:          NOTRUN -> [SKIP][135] ([i915#6301])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-1/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][136] ([i915#5176]) +3 similar issues
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-d-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][137] ([i915#5176]) +11 similar issues
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-d-hdmi-a-3.html

  * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][138] ([i915#5176]) +3 similar issues
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-c-edp-1.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-1:
    - shard-snb:          NOTRUN -> [SKIP][139] ([fdo#109271]) +27 similar issues
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-snb1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][140] ([i915#5235]) +7 similar issues
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-4/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-d-edp-1.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-dp-4:
    - shard-dg2:          NOTRUN -> [SKIP][141] ([i915#5235]) +15 similar issues
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-dp-4.html

  * igt@kms_psr@psr2_cursor_mmap_gtt:
    - shard-tglu:         NOTRUN -> [SKIP][142] ([fdo#110189]) +3 similar issues
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-3/igt@kms_psr@psr2_cursor_mmap_gtt.html

  * igt@kms_psr@sprite_mmap_cpu:
    - shard-dg2:          NOTRUN -> [SKIP][143] ([i915#1072]) +2 similar issues
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@kms_psr@sprite_mmap_cpu.html
    - shard-rkl:          NOTRUN -> [SKIP][144] ([i915#1072]) +1 similar issue
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-1/igt@kms_psr@sprite_mmap_cpu.html

  * igt@kms_rotation_crc@exhaust-fences:
    - shard-mtlp:         NOTRUN -> [SKIP][145] ([i915#4235])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-5/igt@kms_rotation_crc@exhaust-fences.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
    - shard-rkl:          NOTRUN -> [SKIP][146] ([i915#5289])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-2/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html

  * igt@kms_scaling_modes@scaling-mode-center:
    - shard-tglu:         NOTRUN -> [SKIP][147] ([i915#3555])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-6/igt@kms_scaling_modes@scaling-mode-center.html

  * igt@kms_setmode@basic@pipe-a-hdmi-a-1:
    - shard-snb:          NOTRUN -> [FAIL][148] ([i915#5465]) +1 similar issue
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-snb1/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-dg2:          NOTRUN -> [SKIP][149] ([fdo#109309])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_universal_plane@universal-plane-pipe-c-functional:
    - shard-rkl:          NOTRUN -> [SKIP][150] ([i915#4070] / [i915#6768]) +2 similar issues
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@kms_universal_plane@universal-plane-pipe-c-functional.html

  * igt@kms_vrr@flip-basic:
    - shard-mtlp:         NOTRUN -> [SKIP][151] ([i915#3555]) +1 similar issue
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@kms_vrr@flip-basic.html

  * igt@perf_pmu@busy-double-start@rcs0:
    - shard-dg2:          [PASS][152] -> [FAIL][153] ([i915#4349])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-8/igt@perf_pmu@busy-double-start@rcs0.html
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-1/igt@perf_pmu@busy-double-start@rcs0.html

  * igt@sysfs_heartbeat_interval@nopreempt@ccs0:
    - shard-mtlp:         [PASS][154] -> [FAIL][155] ([i915#6015])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-1/igt@sysfs_heartbeat_interval@nopreempt@ccs0.html
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@sysfs_heartbeat_interval@nopreempt@ccs0.html

  * igt@sysfs_heartbeat_interval@precise@vecs0:
    - shard-mtlp:         [PASS][156] -> [FAIL][157] ([i915#8332])
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-5/igt@sysfs_heartbeat_interval@precise@vecs0.html
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-7/igt@sysfs_heartbeat_interval@precise@vecs0.html

  * igt@v3d/v3d_job_submission@multiple-singlesync-to-multisync:
    - shard-mtlp:         NOTRUN -> [SKIP][158] ([i915#2575]) +2 similar issues
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-8/igt@v3d/v3d_job_submission@multiple-singlesync-to-multisync.html

  * igt@v3d/v3d_perfmon@get-values-invalid-pointer:
    - shard-tglu:         NOTRUN -> [SKIP][159] ([fdo#109315] / [i915#2575])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-8/igt@v3d/v3d_perfmon@get-values-invalid-pointer.html

  * igt@v3d/v3d_submit_csd@bad-flag:
    - shard-dg2:          NOTRUN -> [SKIP][160] ([i915#2575]) +5 similar issues
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@v3d/v3d_submit_csd@bad-flag.html

  * igt@v3d/v3d_submit_csd@valid-multisync-submission:
    - shard-rkl:          NOTRUN -> [SKIP][161] ([fdo#109315]) +4 similar issues
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-1/igt@v3d/v3d_submit_csd@valid-multisync-submission.html

  * igt@vc4/vc4_perfmon@get-values-invalid-perfmon:
    - shard-dg2:          NOTRUN -> [SKIP][162] ([i915#7711]) +2 similar issues
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@vc4/vc4_perfmon@get-values-invalid-perfmon.html

  * igt@vc4/vc4_purgeable_bo@mark-purgeable-twice:
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#7711])
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-1/igt@vc4/vc4_purgeable_bo@mark-purgeable-twice.html

  * igt@vc4/vc4_purgeable_bo@mark-willneed:
    - shard-tglu:         NOTRUN -> [SKIP][164] ([i915#2575])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-8/igt@vc4/vc4_purgeable_bo@mark-willneed.html

  
#### Possible fixes ####

  * igt@gem_create@hog-create@smem0:
    - shard-dg2:          [FAIL][165] ([i915#5892] / [i915#8758]) -> [PASS][166]
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-3/igt@gem_create@hog-create@smem0.html
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@gem_create@hog-create@smem0.html

  * igt@gem_ctx_persistence@legacy-engines-hostile@vebox:
    - shard-mtlp:         [FAIL][167] ([i915#2410]) -> [PASS][168] +3 similar issues
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@gem_ctx_persistence@legacy-engines-hostile@vebox.html
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@gem_ctx_persistence@legacy-engines-hostile@vebox.html

  * igt@gem_eio@hibernate:
    - {shard-dg1}:        [ABORT][169] ([i915#4391] / [i915#7975] / [i915#8213]) -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg1-14/igt@gem_eio@hibernate.html
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg1-17/igt@gem_eio@hibernate.html

  * igt@gem_eio@kms:
    - shard-apl:          [FAIL][171] ([i915#8764]) -> [PASS][172]
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-apl6/igt@gem_eio@kms.html
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-apl3/igt@gem_eio@kms.html

  * igt@gem_eio@unwedge-stress:
    - shard-dg2:          [FAIL][173] ([i915#5784]) -> [PASS][174]
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-2/igt@gem_eio@unwedge-stress.html
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_capture@pi@vcs0:
    - shard-mtlp:         [FAIL][175] ([i915#4475]) -> [PASS][176]
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@gem_exec_capture@pi@vcs0.html
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@gem_exec_capture@pi@vcs0.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-rkl:          [FAIL][177] ([i915#2846]) -> [PASS][178]
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-rkl-4/igt@gem_exec_fair@basic-deadline.html
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-7/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-rkl:          [FAIL][179] ([i915#2842]) -> [PASS][180]
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-rkl-7/igt@gem_exec_fair@basic-pace@rcs0.html
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-1/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-glk:          [FAIL][181] ([i915#2842]) -> [PASS][182]
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-glk9/igt@gem_exec_fair@basic-pace@vcs0.html
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-glk3/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_whisper@basic-queues-priority-all:
    - shard-mtlp:         [FAIL][183] ([i915#6363]) -> [PASS][184] +1 similar issue
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-8/igt@gem_exec_whisper@basic-queues-priority-all.html
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-8/igt@gem_exec_whisper@basic-queues-priority-all.html

  * igt@i915_hangman@detector@vcs0:
    - shard-mtlp:         [FAIL][185] ([i915#8456]) -> [PASS][186] +2 similar issues
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-8/igt@i915_hangman@detector@vcs0.html
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-7/igt@i915_hangman@detector@vcs0.html

  * igt@i915_hangman@gt-engine-hang@vcs0:
    - shard-mtlp:         [FAIL][187] ([i915#7069]) -> [PASS][188] +1 similar issue
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@i915_hangman@gt-engine-hang@vcs0.html
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@i915_hangman@gt-engine-hang@vcs0.html

  * {igt@i915_pm_freq_api@freq-suspend@gt0}:
    - shard-dg2:          [FAIL][189] ([fdo#103375] / [i915#6121]) -> [PASS][190] +1 similar issue
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-5/igt@i915_pm_freq_api@freq-suspend@gt0.html
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@i915_pm_freq_api@freq-suspend@gt0.html

  * igt@i915_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          [SKIP][191] ([i915#1397]) -> [PASS][192]
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-rkl-4/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
    - {shard-dg1}:        [SKIP][193] ([i915#1397]) -> [PASS][194]
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg1-19/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg1-18/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@i915_pm_rpm@i2c:
    - shard-dg2:          [FAIL][195] ([i915#8717]) -> [PASS][196]
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-2/igt@i915_pm_rpm@i2c.html
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@i915_pm_rpm@i2c.html

  * igt@i915_pm_rpm@modeset-non-lpsp:
    - shard-dg2:          [SKIP][197] ([i915#1397]) -> [PASS][198] +1 similar issue
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-12/igt@i915_pm_rpm@modeset-non-lpsp.html
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-11/igt@i915_pm_rpm@modeset-non-lpsp.html

  * igt@i915_selftest@live@gt_heartbeat:
    - shard-glk:          [DMESG-FAIL][199] ([i915#5334]) -> [PASS][200]
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-glk8/igt@i915_selftest@live@gt_heartbeat.html
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-glk4/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@slpc:
    - shard-mtlp:         [DMESG-WARN][201] ([i915#6367]) -> [PASS][202]
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-3/igt@i915_selftest@live@slpc.html
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-5/igt@i915_selftest@live@slpc.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-0:
    - shard-mtlp:         [DMESG-WARN][203] ([i915#2017]) -> [PASS][204]
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-5/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-2/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-0:
    - shard-mtlp:         [FAIL][205] ([i915#5138]) -> [PASS][206]
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-mtlp:         [FAIL][207] ([i915#3743]) -> [PASS][208]
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_cursor_crc@cursor-random-64x21@pipe-a-edp-1:
    - shard-mtlp:         [DMESG-WARN][209] ([i915#1982]) -> [PASS][210]
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-3/igt@kms_cursor_crc@cursor-random-64x21@pipe-a-edp-1.html
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-4/igt@kms_cursor_crc@cursor-random-64x21@pipe-a-edp-1.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-glk:          [FAIL][211] ([i915#2346]) -> [PASS][212]
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_plane_cursor@viewport@pipe-b-edp-1-size-128:
    - shard-mtlp:         [DMESG-FAIL][213] ([i915#1982] / [i915#8561]) -> [PASS][214]
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@kms_plane_cursor@viewport@pipe-b-edp-1-size-128.html
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-3/igt@kms_plane_cursor@viewport@pipe-b-edp-1-size-128.html

  * igt@kms_plane_cursor@viewport@pipe-d-edp-1-size-128:
    - shard-mtlp:         [FAIL][215] ([i915#8593]) -> [PASS][216] +3 similar issues
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@kms_plane_cursor@viewport@pipe-d-edp-1-size-128.html
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-3/igt@kms_plane_cursor@viewport@pipe-d-edp-1-size-128.html

  * igt@kms_plane_cursor@viewport@pipe-d-edp-1-size-256:
    - shard-mtlp:         [DMESG-FAIL][217] ([i915#8561]) -> [PASS][218] +6 similar issues
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-4/igt@kms_plane_cursor@viewport@pipe-d-edp-1-size-256.html
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-3/igt@kms_plane_cursor@viewport@pipe-d-edp-1-size-256.html

  * igt@perf_pmu@render-node-busy-idle@ccs2:
    - shard-dg2:          [FAIL][219] ([i915#4349]) -> [PASS][220] +2 similar issues
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-5/igt@perf_pmu@render-node-busy-idle@ccs2.html
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@perf_pmu@render-node-busy-idle@ccs2.html

  * igt@perf_pmu@semaphore-busy@vcs1:
    - shard-mtlp:         [FAIL][221] ([i915#4349]) -> [PASS][222] +3 similar issues
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-1/igt@perf_pmu@semaphore-busy@vcs1.html
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-1/igt@perf_pmu@semaphore-busy@vcs1.html

  * igt@testdisplay:
    - shard-apl:          [TIMEOUT][223] -> [PASS][224]
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-apl3/igt@testdisplay.html
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-apl7/igt@testdisplay.html

  
#### Warnings ####

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg2:          [DMESG-WARN][225] ([i915#4936] / [i915#5493]) -> [TIMEOUT][226] ([i915#5493])
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-5/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-8/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@i915_pm_rc6_residency@media-rc6-accuracy:
    - shard-mtlp:         [SKIP][227] ([fdo#109289]) -> [SKIP][228] ([fdo#109289] / [i915#8403])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-8/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@i915_pm_rc6_residency@media-rc6-accuracy.html

  * igt@i915_pm_rc6_residency@rc6-idle@rcs0:
    - shard-tglu:         [WARN][229] ([i915#2681]) -> [FAIL][230] ([i915#2681] / [i915#3591]) +1 similar issue
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html

  * igt@kms_async_flips@crc@pipe-a-edp-1:
    - shard-mtlp:         [DMESG-FAIL][231] ([i915#8561]) -> [FAIL][232] ([i915#8247])
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-2/igt@kms_async_flips@crc@pipe-a-edp-1.html
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@kms_async_flips@crc@pipe-a-edp-1.html

  * igt@kms_async_flips@crc@pipe-c-edp-1:
    - shard-mtlp:         [FAIL][233] ([i915#8247]) -> [DMESG-FAIL][234] ([i915#8561])
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-mtlp-2/igt@kms_async_flips@crc@pipe-c-edp-1.html
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-mtlp-6/igt@kms_async_flips@crc@pipe-c-edp-1.html

  * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
    - shard-dg2:          [INCOMPLETE][235] ([i915#5493]) -> [CRASH][236] ([i915#7331])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13349/shard-dg2-5/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/shard-dg2-3/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2017]: https://gitlab.freedesktop.org/drm/intel/issues/2017
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2410]: https://gitlab.freedesktop.org/drm/intel/issues/2410
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
  [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
  [i915#4475]: https://gitlab.freedesktop.org/drm/intel/issues/4475
  [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818
  [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4936]: https://gitlab.freedesktop.org/drm/intel/issues/4936
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
  [i915#5161]: https://gitlab.freedesktop.org/drm/intel/issues/5161
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5464]: https://gitlab.freedesktop.org/drm/intel/issues/5464
  [i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#5882]: https://gitlab.freedesktop.org/drm/intel/issues/5882
  [i915#5892]: https://gitlab.freedesktop.org/drm/intel/issues/5892
  [i915#6015]: https://gitlab.freedesktop.org/drm/intel/issues/6015
  [i915#6032]: https://gitlab.freedesktop.org/drm/intel/issues/6032
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6121]: https://gitlab.freedesktop.org/drm/intel/issues/6121
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
  [i915#6363]: https://gitlab.freedesktop.org/drm/intel/issues/6363
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
  [i915#7061]: https://gitlab.freedesktop.org/drm/intel/issues/7061
  [i915#7069]: https://gitlab.freedesktop.org/drm/intel/issues/7069
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#7331]: https://gitlab.freedesktop.org/drm/intel/issues/7331
  [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7816]: https://gitlab.freedesktop.org/drm/intel/issues/7816
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7916]: https://gitlab.freedesktop.org/drm/intel/issues/7916
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8289]: https://gitlab.freedesktop.org/drm/intel/issues/8289
  [i915#8332]: https://gitlab.freedesktop.org/drm/intel/issues/8332
  [i915#8403]: https://gitlab.freedesktop.org/drm/intel/issues/8403
  [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
  [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
  [i915#8456]: https://gitlab.freedesktop.org/drm/intel/issues/8456
  [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
  [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
  [i915#8561]: https://gitlab.freedesktop.org/drm/intel/issues/8561
  [i915#8593]: https://gitlab.freedesktop.org/drm/intel/issues/8593
  [i915#8621]: https://gitlab.freedesktop.org/drm/intel/issues/8621
  [i915#8661]: https://gitlab.freedesktop.org/drm/intel/issues/8661
  [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
  [i915#8717]: https://gitlab.freedesktop.org/drm/intel/issues/8717
  [i915#8758]: https://gitlab.freedesktop.org/drm/intel/issues/8758
  [i915#8764]: https://gitlab.freedesktop.org/drm/intel/issues/8764


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7374 -> IGTPW_9354
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_13349: 7ffb88c57a657e902d4060565c15d30654721a31 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_9354: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9354/index.html
  IGT_7374: 470370c8c25d419eafa627e54edcf0af3b116d92 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles Himal Prasad Ghimiray
@ 2023-07-06 23:46   ` Dixit, Ashutosh
  2023-07-07  3:57     ` Ghimiray, Himal Prasad
  0 siblings, 1 reply; 17+ messages in thread
From: Dixit, Ashutosh @ 2023-07-06 23:46 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: igt-dev, Upadhyay

On Thu, 06 Jul 2023 03:44:57 -0700, Himal Prasad Ghimiray wrote:
>
> With tile and GT seperation in KMD, we need to know
> number of tiles supported by platform.
> We will need to access tile associated properties from IGT.
> Hence adding iterator for all supported tiles.
>
> v2:
> - Calculate number of tiles once within iterator. (Rahul)
> - Use snprintf instead of sprintf.
>
> v3:
> - Remove unrequired for_each_sysfs_tile_dirfd (Ashutosh)
>
> v4:
> - Implement tiles related functions in lib.
>
> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
> Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
> Cc: Upadhyay <tejas.upadhyay@intel.com>
> Cc: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
>  lib/igt_sysfs.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++
>  lib/igt_sysfs.h | 10 +++++++
>  2 files changed, 87 insertions(+)
>
> diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c
> index 0876f4c6b..dcb38cfc9 100644
> --- a/lib/igt_sysfs.c
> +++ b/lib/igt_sysfs.c
> @@ -903,3 +903,80 @@ void igt_sysfs_engines(int xe, int engines, const char **property,
>		close(engine_fd);
>	}
>  }
> +
> +/**
> + * xe_sysfs_tile_path:
> + * @device: fd of the device

xe_device

> + * @tile: tile number
> + * @path: buffer to fill with the sysfs tile path to the device
> + * @pathlen: length of @path buffer
> + *
> + * This finds the sysfs directory corresponding to @device and @tile. If the tile
> + * specific directory is not available and tile is 0, path is filled with sysfs
> + * base directory.
> + *
> + * Returns:
> + * The directory path, or NULL on failure.
> + */
> +char *xe_sysfs_tile_path(int xe_device, int tile, char *path, int pathlen)
> +{
> +	struct stat st;
> +
> +	if (xe_device < 0)
> +		return NULL;
> +
> +	if (igt_debug_on(fstat(xe_device, &st)) || igt_debug_on(!S_ISCHR(st.st_mode)))
> +		return NULL;
> +
> +	snprintf(path, pathlen, "/sys/dev/char/%d:%d/device/tile%d",
> +		 major(st.st_rdev), minor(st.st_rdev), tile);
> +
> +	if (!access(path, F_OK))
> +		return path;
> +	if (!tile)
> +		return igt_sysfs_path(xe_device, path, pathlen);

This if () is in igt_sysfs_gt_path to take care of the legacy case. There
is no such thing for xe, so let's remove this if ().

Fix the comment above the function too.

> +	return NULL;
> +}
> +
> +/**
> + * xe_sysfs_tile_open:
> + * @xe_device: fd of the device
> + * @tile: tile number
> + *
> + * This opens the sysfs tile directory corresponding to device and tile for use
> + *
> + * Returns:
> + * The directory fd, or -1 on failure.
> + */
> +int xe_sysfs_tile_open(int xe_device, int tile)
> +{
> +	char path[96];
> +
> +	if (!xe_sysfs_tile_path(xe_device, tile, path, sizeof(path)))
> +		return -1;
> +
> +	return open(path, O_RDONLY);
> +}
> +
> +/**
> + * xe_sysfs_get_num_tiles:
> + * @xe_device: fd of the device
> + *
> + * Reads number of tile sysfs entries.
> + * Asserts for at least one tile entry.
> + * (see xe_sysfs_tile_path).
> + *
> + * Returns: Number of tiles.
> + */
> +int xe_sysfs_get_num_tiles(int xe_device)
> +{
> +	int num_tiles = 0;
> +	char path[96];
> +
> +	while (xe_sysfs_tile_path(xe_device, num_tiles, path, sizeof(path)))
> +		++num_tiles;
> +
> +	igt_assert_f(num_tiles > 0, "No GT sysfs entry is found.");
> +
> +	return num_tiles;
> +}
> diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h
> index 5635fc690..5d584b1c7 100644
> --- a/lib/igt_sysfs.h
> +++ b/lib/igt_sysfs.h
> @@ -38,6 +38,11 @@
>	     (dirfd__ = igt_sysfs_gt_open(i915__, gt__)) != -1; \
>	     close(dirfd__), gt__++)
>
> +#define for_each_sysfs_tile_dirfd(xe__, dirfd__, tile__) \
> +	for (tile__ = 0; \
> +	     (dirfd__ = xe_sysfs_tile_open(xe__, tile__)) != -1; \
> +	     close(dirfd__), tile__++)
> +
>  #define i915_for_each_gt for_each_sysfs_gt_dirfd
>
>  #define igt_sysfs_rps_write(dir, id, data, len) \
> @@ -73,6 +78,8 @@
>  #define igt_sysfs_rps_set_boolean(dir, id, value) \
>	igt_sysfs_set_boolean(dir, igt_sysfs_dir_id_to_name(dir, id), value)
>
> +#define xe_for_each_tile for_each_sysfs_tile_dirfd
> +
>  enum i915_attr_id {
>	RPS_ACT_FREQ_MHZ,
>	RPS_CUR_FREQ_MHZ,
> @@ -150,4 +157,7 @@ void igt_sysfs_rw_attr_verify(igt_sysfs_rw_attr_t *rw);
>  void igt_sysfs_engines(int xe, int engines, const char **property,
>		       void (*test)(int, int, const char **));
>
> +char *xe_sysfs_tile_path(int xe_device, int tile, char *path, int pathlen);
> +int xe_sysfs_tile_open(int xe_device, int tile);
> +int xe_sysfs_get_num_tiles(int xe_device);
>  #endif /* __IGT_SYSFS_H__ */
> --
> 2.25.1
>

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

* Re: [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes Himal Prasad Ghimiray
@ 2023-07-07  0:56   ` Dixit, Ashutosh
  2023-07-07  4:29     ` Ghimiray, Himal Prasad
  2023-07-07  5:02     ` Ghimiray, Himal Prasad
  0 siblings, 2 replies; 17+ messages in thread
From: Dixit, Ashutosh @ 2023-07-07  0:56 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: Upadhyay, igt-dev

On Thu, 06 Jul 2023 03:44:58 -0700, Himal Prasad Ghimiray wrote:
>
> +/*
> + * xe_gt_sysfs_path::
> + * @sysfs: fd of sysfs
> + * @gt_id: gt id
> + *
> + * This function returns the path for gtX directory
> + */
> +char *xe_gt_sysfs_path(int sysfs, int gt_id)
> +{
> +	char tiledir[24];
> +	char gtdir[32];
> +	char *gt_path;
> +	int i = 0;
> +
> +	snprintf(tiledir, sizeof(tiledir), "device/tile0/");
> +	snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
> +
> +	while (dir_exists_in_sysfd(sysfs, tiledir)) {
> +		if (dir_exists_in_sysfd(sysfs, gtdir)) {
> +			gt_path = malloc(sizeof(gtdir));
> +			strcpy(gt_path, gtdir);
> +			return gt_path;
> +		} else {
> +			snprintf(tiledir, sizeof(tiledir), "device/tile%d/", i++);
> +			snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
> +		}
> +	}
> +	igt_assert_f(false, "No gt%d dir found in sysfs\n", gt_id);
> +}

Now that you I see the code (sorry for changing again but we are adding
this to the igt lib so functions should have some uniformity), this
function should have the same prototype and arguments as
igt_sysfs_gt_path(). Also call it xe_sysfs_gt_path.

Also because now we have drm_fd available we can find the device (PVC/MTL)
so we can use the simpler implementation I mentioned before:

	switch (devid) {
	case PVC:
		return tile0/gt0 or tile1/gt1
	default:
		return tile0/gtN
}

This function can be extended for future platforms as they arise. Or
someone can write a better function to go over the dir tree. I think it
should be done similar to going over the directory as is done in
hwmon_read/hwmon_write. I don't like the implementation above but for now
the approach mentioned above is fine.

The above means we will change set_freq()/get_freq() in xe_guc_pc.c to take
the drm_fd as the first argument rather than the sysfs fd. So there will be
changes throught the file but better do that once so that all future IGT's
can follow the same pattern.

Also write another function xe_sysfs_gt_open() similar to
igt_sysfs_gt_open() or xe_sysfs_tile_open().

I want Kamil to take a look at this series too after he is back.

> diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h
> index 5d584b1c7..0792c644e 100644
> --- a/lib/igt_sysfs.h
> +++ b/lib/igt_sysfs.h
> @@ -153,6 +153,7 @@ typedef struct igt_sysfs_rw_attr {
>  } igt_sysfs_rw_attr_t;
>
>  void igt_sysfs_rw_attr_verify(igt_sysfs_rw_attr_t *rw);
> +char *xe_gt_sysfs_path(int sysfs, int gt_id);
>
>  void igt_sysfs_engines(int xe, int engines, const char **property,
>		       void (*test)(int, int, const char **));
> --
> 2.25.1
>

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

* Re: [igt-dev] [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths
  2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths Himal Prasad Ghimiray
@ 2023-07-07  1:01   ` Dixit, Ashutosh
  2023-07-07  5:03     ` Ghimiray, Himal Prasad
  0 siblings, 1 reply; 17+ messages in thread
From: Dixit, Ashutosh @ 2023-07-07  1:01 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: Upadhyay, igt-dev, Badal Nilawar

On Thu, 06 Jul 2023 03:44:59 -0700, Himal Prasad Ghimiray wrote:
>
> diff --git a/tests/xe/xe_guc_pc.c b/tests/xe/xe_guc_pc.c
> index 827693eb4..d70b08d1e 100644
> --- a/tests/xe/xe_guc_pc.c
> +++ b/tests/xe/xe_guc_pc.c
> @@ -137,8 +137,13 @@ static int set_freq(int sysfs, int gt_id, const char *freq_name, uint32_t freq)
>  {
>	int ret = -EAGAIN;
>	char path[32];
> +	char *gt_path;
> +
> +	gt_path = xe_gt_sysfs_path(sysfs, gt_id);
> +	igt_assert(snprintf(path, sizeof(path), "%s/freq_%s",
> +			    gt_path, freq_name) < sizeof(path));
> +	free(gt_path);
>
> -	sprintf(path, "device/gt%d/freq_%s", gt_id, freq_name);
>	while (ret == -EAGAIN)
>		ret = igt_sysfs_printf(sysfs, path, "%u", freq);
>	return ret;
> @@ -149,7 +154,12 @@ static uint32_t get_freq(int sysfs, int gt_id, const char *freq_name)
>	uint32_t freq;
>	int err = -EAGAIN;
>	char path[32];
> -	sprintf(path, "device/gt%d/freq_%s", gt_id, freq_name);
> +	char *gt_path;
> +
> +	gt_path = xe_gt_sysfs_path(sysfs, gt_id);
> +	igt_assert(snprintf(path, sizeof(path), "%s/freq_%s",
> +			    gt_path, freq_name) < sizeof(path));
> +	free(gt_path);

After the changes mentioned in Patch 2 the function prototypes will change
as mentioned in Patch 2 comments.

So we will now call xe_sysfs_gt_open() here and rename path[] to attr[] and
then we can do igt_sysfs_scanf/igt_sysfs_printf.

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

* Re: [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram addr_range
  2023-07-06 10:45 ` [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram addr_range Himal Prasad Ghimiray
@ 2023-07-07  1:10   ` Dixit, Ashutosh
  2023-07-07  5:04     ` Ghimiray, Himal Prasad
  0 siblings, 1 reply; 17+ messages in thread
From: Dixit, Ashutosh @ 2023-07-07  1:10 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: igt-dev, Upadhyay

On Thu, 06 Jul 2023 03:45:00 -0700, Himal Prasad Ghimiray wrote:
>
> diff --git a/tests/xe/xe_sysfs_tile_prop.c b/tests/xe/xe_sysfs_tile_prop.c

Let's call this either xe_sysfs_tile_properties.c or xe_sysfs_tile.c

> +static void test_vram_physical_vram_size_bytes(int sysfs, int tile_num, u64 vram_size)

Pass tilefd into this function, see below, so

static void test_vram_physical_vram_size_bytes(int tilefd, u64 vram_size)

> +{
> +	u64 physical_vram_size_bytes;
> +	char path[40];
> +
> +	igt_assert(snprintf(path, sizeof(path), "device/tile%d/physical_vram_size_bytes",
> +			    tile_num) < sizeof(path));

No need for all this.

> +	igt_assert(igt_sysfs_scanf(sysfs, path, "%lx", &physical_vram_size_bytes) > 0);

This just becomes

	igt_assert(igt_sysfs_scanf(tilefd, "physical_vram_size_bytes", "%lx", &physical_vram_size_bytes) > 0);

> +	igt_assert_lt_u64(vram_size, physical_vram_size_bytes);
> +}
> +
> +igt_main
> +{
> +	int fd, tmp;

s/tmp/tilefd/

> +	int tile;
> +	static int sysfs = -1;
> +	u64 vram_size;
> +
> +	igt_fixture {
> +		fd = drm_open_driver(DRIVER_XE);
> +		xe_device_get(fd);
> +
> +		sysfs = igt_sysfs_open(fd);

No need to do this, we already have tilefd in xe_for_each_tile, we can pass
that into test_vram_physical_vram_size_bytes.

> +		igt_assert(sysfs != -1);
> +	}
> +
> +	igt_subtest("physical_vram_size_bytes") {
> +		igt_require(xe_has_vram(fd));
> +		xe_for_each_tile(fd, tmp, tile) {
> +			vram_size = xe_vram_size(fd, tile);
> +			test_vram_physical_vram_size_bytes(sysfs, tile, vram_size);
> +		}
> +	}
> +
> +	igt_fixture {
> +		close(sysfs);
> +		xe_device_put(fd);
> +		close(fd);
> +	}
> +}
> --
> 2.25.1
>

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

* Re: [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles
  2023-07-06 23:46   ` Dixit, Ashutosh
@ 2023-07-07  3:57     ` Ghimiray, Himal Prasad
  0 siblings, 0 replies; 17+ messages in thread
From: Ghimiray, Himal Prasad @ 2023-07-07  3:57 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: igt-dev, Upadhyay, Tejas



> -----Original Message-----
> From: Dixit, Ashutosh <ashutosh.dixit@intel.com>
> Sent: 07 July 2023 05:16
> To: Ghimiray, Himal Prasad <himal.prasad.ghimiray@intel.com>
> Cc: igt-dev@lists.freedesktop.org; Iddamsetty, Aravind
> <aravind.iddamsetty@intel.com>; Upadhyay, Tejas
> <tejas.upadhyay@intel.com>; Kumar, Janga Rahul
> <janga.rahul.kumar@intel.com>
> Subject: Re: [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number
> of tiles
> 
> On Thu, 06 Jul 2023 03:44:57 -0700, Himal Prasad Ghimiray wrote:
> >
> > With tile and GT seperation in KMD, we need to know number of tiles
> > supported by platform.
> > We will need to access tile associated properties from IGT.
> > Hence adding iterator for all supported tiles.
> >
> > v2:
> > - Calculate number of tiles once within iterator. (Rahul)
> > - Use snprintf instead of sprintf.
> >
> > v3:
> > - Remove unrequired for_each_sysfs_tile_dirfd (Ashutosh)
> >
> > v4:
> > - Implement tiles related functions in lib.
> >
> > Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
> > Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
> > Cc: Upadhyay <tejas.upadhyay@intel.com>
> > Cc: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
> > Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> > ---
> >  lib/igt_sysfs.c | 77
> > +++++++++++++++++++++++++++++++++++++++++++++++++
> >  lib/igt_sysfs.h | 10 +++++++
> >  2 files changed, 87 insertions(+)
> >
> > diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c index
> > 0876f4c6b..dcb38cfc9 100644
> > --- a/lib/igt_sysfs.c
> > +++ b/lib/igt_sysfs.c
> > @@ -903,3 +903,80 @@ void igt_sysfs_engines(int xe, int engines, const
> char **property,
> >		close(engine_fd);
> >	}
> >  }
> > +
> > +/**
> > + * xe_sysfs_tile_path:
> > + * @device: fd of the device
> 
> xe_device

Sure.

> 
> > + * @tile: tile number
> > + * @path: buffer to fill with the sysfs tile path to the device
> > + * @pathlen: length of @path buffer
> > + *
> > + * This finds the sysfs directory corresponding to @device and @tile.
> > +If the tile
> > + * specific directory is not available and tile is 0, path is filled
> > +with sysfs
> > + * base directory.
> > + *
> > + * Returns:
> > + * The directory path, or NULL on failure.
> > + */
> > +char *xe_sysfs_tile_path(int xe_device, int tile, char *path, int
> > +pathlen) {
> > +	struct stat st;
> > +
> > +	if (xe_device < 0)
> > +		return NULL;
> > +
> > +	if (igt_debug_on(fstat(xe_device, &st)) ||
> igt_debug_on(!S_ISCHR(st.st_mode)))
> > +		return NULL;
> > +
> > +	snprintf(path, pathlen, "/sys/dev/char/%d:%d/device/tile%d",
> > +		 major(st.st_rdev), minor(st.st_rdev), tile);
> > +
> > +	if (!access(path, F_OK))
> > +		return path;
> > +	if (!tile)
> > +		return igt_sysfs_path(xe_device, path, pathlen);
> 
> This if () is in igt_sysfs_gt_path to take care of the legacy case. There is no
> such thing for xe, so let's remove this if ().

Ok.

> 
> Fix the comment above the function too.
> 
> > +	return NULL;
> > +}
> > +
> > +/**
> > + * xe_sysfs_tile_open:
> > + * @xe_device: fd of the device
> > + * @tile: tile number
> > + *
> > + * This opens the sysfs tile directory corresponding to device and
> > +tile for use
> > + *
> > + * Returns:
> > + * The directory fd, or -1 on failure.
> > + */
> > +int xe_sysfs_tile_open(int xe_device, int tile) {
> > +	char path[96];
> > +
> > +	if (!xe_sysfs_tile_path(xe_device, tile, path, sizeof(path)))
> > +		return -1;
> > +
> > +	return open(path, O_RDONLY);
> > +}
> > +
> > +/**
> > + * xe_sysfs_get_num_tiles:
> > + * @xe_device: fd of the device
> > + *
> > + * Reads number of tile sysfs entries.
> > + * Asserts for at least one tile entry.
> > + * (see xe_sysfs_tile_path).
> > + *
> > + * Returns: Number of tiles.
> > + */
> > +int xe_sysfs_get_num_tiles(int xe_device) {
> > +	int num_tiles = 0;
> > +	char path[96];
> > +
> > +	while (xe_sysfs_tile_path(xe_device, num_tiles, path, sizeof(path)))
> > +		++num_tiles;
> > +
> > +	igt_assert_f(num_tiles > 0, "No GT sysfs entry is found.");
> > +
> > +	return num_tiles;
> > +}
> > diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h index
> > 5635fc690..5d584b1c7 100644
> > --- a/lib/igt_sysfs.h
> > +++ b/lib/igt_sysfs.h
> > @@ -38,6 +38,11 @@
> >	     (dirfd__ = igt_sysfs_gt_open(i915__, gt__)) != -1; \
> >	     close(dirfd__), gt__++)
> >
> > +#define for_each_sysfs_tile_dirfd(xe__, dirfd__, tile__) \
> > +	for (tile__ = 0; \
> > +	     (dirfd__ = xe_sysfs_tile_open(xe__, tile__)) != -1; \
> > +	     close(dirfd__), tile__++)
> > +
> >  #define i915_for_each_gt for_each_sysfs_gt_dirfd
> >
> >  #define igt_sysfs_rps_write(dir, id, data, len) \  @@ -73,6 +78,8 @@
> >  #define igt_sysfs_rps_set_boolean(dir, id, value) \
> >	igt_sysfs_set_boolean(dir, igt_sysfs_dir_id_to_name(dir, id), value)
> >
> > +#define xe_for_each_tile for_each_sysfs_tile_dirfd
> > +
> >  enum i915_attr_id {
> >	RPS_ACT_FREQ_MHZ,
> >	RPS_CUR_FREQ_MHZ,
> > @@ -150,4 +157,7 @@ void igt_sysfs_rw_attr_verify(igt_sysfs_rw_attr_t
> >*rw);
> >  void igt_sysfs_engines(int xe, int engines, const char **property,
> >		       void (*test)(int, int, const char **));
> >
> > +char *xe_sysfs_tile_path(int xe_device, int tile, char *path, int
> > +pathlen); int xe_sysfs_tile_open(int xe_device, int tile); int
> > +xe_sysfs_get_num_tiles(int xe_device);
> >  #endif /* __IGT_SYSFS_H__ */
> > --
> > 2.25.1
> >

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

* Re: [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes
  2023-07-07  0:56   ` Dixit, Ashutosh
@ 2023-07-07  4:29     ` Ghimiray, Himal Prasad
  2023-07-07  5:02     ` Ghimiray, Himal Prasad
  1 sibling, 0 replies; 17+ messages in thread
From: Ghimiray, Himal Prasad @ 2023-07-07  4:29 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: Upadhyay, Tejas, igt-dev



> -----Original Message-----
> From: Dixit, Ashutosh <ashutosh.dixit@intel.com>
> Sent: 07 July 2023 06:26
> To: Ghimiray, Himal Prasad <himal.prasad.ghimiray@intel.com>
> Cc: igt-dev@lists.freedesktop.org; Kamil Konieczny
> <kamil.konieczny@linux.intel.com>; Iddamsetty, Aravind
> <aravind.iddamsetty@intel.com>; Upadhyay, Tejas
> <tejas.upadhyay@intel.com>; Kumar, Janga Rahul
> <janga.rahul.kumar@intel.com>; Dugast, Francois
> <francois.dugast@intel.com>; Roper, Matthew D
> <matthew.d.roper@intel.com>
> Subject: Re: [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi
> changes
> 
> On Thu, 06 Jul 2023 03:44:58 -0700, Himal Prasad Ghimiray wrote:
> >
> > +/*
> > + * xe_gt_sysfs_path::
> > + * @sysfs: fd of sysfs
> > + * @gt_id: gt id
> > + *
> > + * This function returns the path for gtX directory  */ char
> > +*xe_gt_sysfs_path(int sysfs, int gt_id) {
> > +	char tiledir[24];
> > +	char gtdir[32];
> > +	char *gt_path;
> > +	int i = 0;
> > +
> > +	snprintf(tiledir, sizeof(tiledir), "device/tile0/");
> > +	snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
> > +
> > +	while (dir_exists_in_sysfd(sysfs, tiledir)) {
> > +		if (dir_exists_in_sysfd(sysfs, gtdir)) {
> > +			gt_path = malloc(sizeof(gtdir));
> > +			strcpy(gt_path, gtdir);
> > +			return gt_path;
> > +		} else {
> > +			snprintf(tiledir, sizeof(tiledir), "device/tile%d/", i++);
> > +			snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
> > +		}
> > +	}
> > +	igt_assert_f(false, "No gt%d dir found in sysfs\n", gt_id); }
> 
> Now that you I see the code (sorry for changing again but we are adding this
> to the igt lib so functions should have some uniformity), this function should
> have the same prototype and arguments as igt_sysfs_gt_path(). Also call it
> xe_sysfs_gt_path.
> 
> Also because now we have drm_fd available we can find the device
> (PVC/MTL) so we can use the simpler implementation I mentioned before:
> 
> 	switch (devid) {
> 	case PVC:
> 		return tile0/gt0 or tile1/gt1
> 	default:
> 		return tile0/gtN
> }
> 
> This function can be extended for future platforms as they arise. Or someone
> can write a better function to go over the dir tree. I think it should be done
> similar to going over the directory as is done in hwmon_read/hwmon_write.
> I don't like the implementation above but for now the approach mentioned
> above is fine.
> 
> The above means we will change set_freq()/get_freq() in xe_guc_pc.c to take
> the drm_fd as the first argument rather than the sysfs fd. So there will be
> changes throught the file but better do that once so that all future IGT's can
> follow the same pattern.
> 
> Also write another function xe_sysfs_gt_open() similar to
> igt_sysfs_gt_open() or xe_sysfs_tile_open().
> 
> I want Kamil to take a look at this series too after he is back.
> 
> > diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h index
> > 5d584b1c7..0792c644e 100644
> > --- a/lib/igt_sysfs.h
> > +++ b/lib/igt_sysfs.h
> > @@ -153,6 +153,7 @@ typedef struct igt_sysfs_rw_attr {  }
> > igt_sysfs_rw_attr_t;
> >
> >  void igt_sysfs_rw_attr_verify(igt_sysfs_rw_attr_t *rw);
> > +char *xe_gt_sysfs_path(int sysfs, int gt_id);
> >
> >  void igt_sysfs_engines(int xe, int engines, const char **property,
> >		       void (*test)(int, int, const char **));
> > --
> > 2.25.1
> >

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

* Re: [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes
  2023-07-07  0:56   ` Dixit, Ashutosh
  2023-07-07  4:29     ` Ghimiray, Himal Prasad
@ 2023-07-07  5:02     ` Ghimiray, Himal Prasad
  1 sibling, 0 replies; 17+ messages in thread
From: Ghimiray, Himal Prasad @ 2023-07-07  5:02 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: Upadhyay, Tejas, igt-dev



> -----Original Message-----
> From: Dixit, Ashutosh <ashutosh.dixit@intel.com>
> Sent: 07 July 2023 06:26
> To: Ghimiray, Himal Prasad <himal.prasad.ghimiray@intel.com>
> Cc: igt-dev@lists.freedesktop.org; Kamil Konieczny
> <kamil.konieczny@linux.intel.com>; Iddamsetty, Aravind
> <aravind.iddamsetty@intel.com>; Upadhyay, Tejas
> <tejas.upadhyay@intel.com>; Kumar, Janga Rahul
> <janga.rahul.kumar@intel.com>; Dugast, Francois
> <francois.dugast@intel.com>; Roper, Matthew D
> <matthew.d.roper@intel.com>
> Subject: Re: [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi
> changes
> 
> On Thu, 06 Jul 2023 03:44:58 -0700, Himal Prasad Ghimiray wrote:
> >
> > +/*
> > + * xe_gt_sysfs_path::
> > + * @sysfs: fd of sysfs
> > + * @gt_id: gt id
> > + *
> > + * This function returns the path for gtX directory  */ char
> > +*xe_gt_sysfs_path(int sysfs, int gt_id) {
> > +	char tiledir[24];
> > +	char gtdir[32];
> > +	char *gt_path;
> > +	int i = 0;
> > +
> > +	snprintf(tiledir, sizeof(tiledir), "device/tile0/");
> > +	snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
> > +
> > +	while (dir_exists_in_sysfd(sysfs, tiledir)) {
> > +		if (dir_exists_in_sysfd(sysfs, gtdir)) {
> > +			gt_path = malloc(sizeof(gtdir));
> > +			strcpy(gt_path, gtdir);
> > +			return gt_path;
> > +		} else {
> > +			snprintf(tiledir, sizeof(tiledir), "device/tile%d/", i++);
> > +			snprintf(gtdir, sizeof(gtdir), "%s/gt%d", tiledir, gt_id);
> > +		}
> > +	}
> > +	igt_assert_f(false, "No gt%d dir found in sysfs\n", gt_id); }
> 
> Now that you I see the code (sorry for changing again but we are adding this
> to the igt lib so functions should have some uniformity), this function should
> have the same prototype and arguments as igt_sysfs_gt_path(). Also call it
> xe_sysfs_gt_path.

Sure.

> 
> Also because now we have drm_fd available we can find the device
> (PVC/MTL) so we can use the simpler implementation I mentioned before:
> 
> 	switch (devid) {
> 	case PVC:
> 		return tile0/gt0 or tile1/gt1
> 	default:
> 		return tile0/gtN
> }
> 
> This function can be extended for future platforms as they arise. Or someone
> can write a better function to go over the dir tree. I think it should be done
> similar to going over the directory as is done in hwmon_read/hwmon_write.
> I don't like the implementation above but for now the approach mentioned
> above is fine.

Will go ahead with suggested approach.

> 
> The above means we will change set_freq()/get_freq() in xe_guc_pc.c to take
> the drm_fd as the first argument rather than the sysfs fd. So there will be
> changes throught the file but better do that once so that all future IGT's can
> follow the same pattern.
> 
> Also write another function xe_sysfs_gt_open() similar to
> igt_sysfs_gt_open() or xe_sysfs_tile_open().
> 
> I want Kamil to take a look at this series too after he is back.

Sure.

> 
> > diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h index
> > 5d584b1c7..0792c644e 100644
> > --- a/lib/igt_sysfs.h
> > +++ b/lib/igt_sysfs.h
> > @@ -153,6 +153,7 @@ typedef struct igt_sysfs_rw_attr {  }
> > igt_sysfs_rw_attr_t;
> >
> >  void igt_sysfs_rw_attr_verify(igt_sysfs_rw_attr_t *rw);
> > +char *xe_gt_sysfs_path(int sysfs, int gt_id);
> >
> >  void igt_sysfs_engines(int xe, int engines, const char **property,
> >		       void (*test)(int, int, const char **));
> > --
> > 2.25.1
> >

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

* Re: [igt-dev] [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths
  2023-07-07  1:01   ` Dixit, Ashutosh
@ 2023-07-07  5:03     ` Ghimiray, Himal Prasad
  0 siblings, 0 replies; 17+ messages in thread
From: Ghimiray, Himal Prasad @ 2023-07-07  5:03 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: Upadhyay, Tejas, igt-dev, Nilawar, Badal



> -----Original Message-----
> From: Dixit, Ashutosh <ashutosh.dixit@intel.com>
> Sent: 07 July 2023 06:31
> To: Ghimiray, Himal Prasad <himal.prasad.ghimiray@intel.com>
> Cc: igt-dev@lists.freedesktop.org; Iddamsetty, Aravind
> <aravind.iddamsetty@intel.com>; Upadhyay, Tejas
> <tejas.upadhyay@intel.com>; Kamil Konieczny
> <kamil.konieczny@linux.intel.com>; Nilawar, Badal
> <badal.nilawar@intel.com>; Tauro, Riana <riana.tauro@intel.com>; Gupta,
> Anshuman <anshuman.gupta@intel.com>
> Subject: Re: [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths
> 
> On Thu, 06 Jul 2023 03:44:59 -0700, Himal Prasad Ghimiray wrote:
> >
> > diff --git a/tests/xe/xe_guc_pc.c b/tests/xe/xe_guc_pc.c index
> > 827693eb4..d70b08d1e 100644
> > --- a/tests/xe/xe_guc_pc.c
> > +++ b/tests/xe/xe_guc_pc.c
> > @@ -137,8 +137,13 @@ static int set_freq(int sysfs, int gt_id, const
> >char *freq_name, uint32_t freq)
> >  {
> >	int ret = -EAGAIN;
> >	char path[32];
> > +	char *gt_path;
> > +
> > +	gt_path = xe_gt_sysfs_path(sysfs, gt_id);
> > +	igt_assert(snprintf(path, sizeof(path), "%s/freq_%s",
> > +			    gt_path, freq_name) < sizeof(path));
> > +	free(gt_path);
> >
> > -	sprintf(path, "device/gt%d/freq_%s", gt_id, freq_name);
> >	while (ret == -EAGAIN)
> >		ret = igt_sysfs_printf(sysfs, path, "%u", freq);
> >	return ret;
> > @@ -149,7 +154,12 @@ static uint32_t get_freq(int sysfs, int gt_id, const
> char *freq_name)
> >	uint32_t freq;
> >	int err = -EAGAIN;
> >	char path[32];
> > -	sprintf(path, "device/gt%d/freq_%s", gt_id, freq_name);
> > +	char *gt_path;
> > +
> > +	gt_path = xe_gt_sysfs_path(sysfs, gt_id);
> > +	igt_assert(snprintf(path, sizeof(path), "%s/freq_%s",
> > +			    gt_path, freq_name) < sizeof(path));
> > +	free(gt_path);
> 
> After the changes mentioned in Patch 2 the function prototypes will change
> as mentioned in Patch 2 comments.
> 
> So we will now call xe_sysfs_gt_open() here and rename path[] to attr[] and
> then we can do igt_sysfs_scanf/igt_sysfs_printf.

Will address in new patch.

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

* Re: [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram addr_range
  2023-07-07  1:10   ` Dixit, Ashutosh
@ 2023-07-07  5:04     ` Ghimiray, Himal Prasad
  0 siblings, 0 replies; 17+ messages in thread
From: Ghimiray, Himal Prasad @ 2023-07-07  5:04 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: igt-dev, Upadhyay, Tejas



> -----Original Message-----
> From: Dixit, Ashutosh <ashutosh.dixit@intel.com>
> Sent: 07 July 2023 06:41
> To: Ghimiray, Himal Prasad <himal.prasad.ghimiray@intel.com>
> Cc: igt-dev@lists.freedesktop.org; Upadhyay, Tejas
> <tejas.upadhyay@intel.com>
> Subject: Re: [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds
> new test to verify per tile vram addr_range
> 
> On Thu, 06 Jul 2023 03:45:00 -0700, Himal Prasad Ghimiray wrote:
> >
> > diff --git a/tests/xe/xe_sysfs_tile_prop.c
> > b/tests/xe/xe_sysfs_tile_prop.c
> 
> Let's call this either xe_sysfs_tile_properties.c or xe_sysfs_tile.c
> 
> > +static void test_vram_physical_vram_size_bytes(int sysfs, int
> > +tile_num, u64 vram_size)
> 
> Pass tilefd into this function, see below, so
> 
> static void test_vram_physical_vram_size_bytes(int tilefd, u64 vram_size)
> 

Will address in next patch.

> > +{
> > +	u64 physical_vram_size_bytes;
> > +	char path[40];
> > +
> > +	igt_assert(snprintf(path, sizeof(path),
> "device/tile%d/physical_vram_size_bytes",
> > +			    tile_num) < sizeof(path));
> 
> No need for all this.
> 
> > +	igt_assert(igt_sysfs_scanf(sysfs, path, "%lx",
> > +&physical_vram_size_bytes) > 0);
> 
> This just becomes
> 
> 	igt_assert(igt_sysfs_scanf(tilefd, "physical_vram_size_bytes", "%lx",
> &physical_vram_size_bytes) > 0);
> 

Ok.

> > +	igt_assert_lt_u64(vram_size, physical_vram_size_bytes); }
> > +
> > +igt_main
> > +{
> > +	int fd, tmp;
> 
> s/tmp/tilefd/
> 
> > +	int tile;
> > +	static int sysfs = -1;
> > +	u64 vram_size;
> > +
> > +	igt_fixture {
> > +		fd = drm_open_driver(DRIVER_XE);
> > +		xe_device_get(fd);
> > +
> > +		sysfs = igt_sysfs_open(fd);
> 
> No need to do this, we already have tilefd in xe_for_each_tile, we can pass
> that into test_vram_physical_vram_size_bytes.
> 

Sure.

> > +		igt_assert(sysfs != -1);
> > +	}
> > +
> > +	igt_subtest("physical_vram_size_bytes") {
> > +		igt_require(xe_has_vram(fd));
> > +		xe_for_each_tile(fd, tmp, tile) {
> > +			vram_size = xe_vram_size(fd, tile);
> > +			test_vram_physical_vram_size_bytes(sysfs, tile,
> vram_size);
> > +		}
> > +	}
> > +
> > +	igt_fixture {
> > +		close(sysfs);
> > +		xe_device_put(fd);
> > +		close(fd);
> > +	}
> > +}
> > --
> > 2.25.1
> >

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

end of thread, other threads:[~2023-07-07  5:04 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-06 10:44 [igt-dev] [PATCH i-g-t v7 0/4] Handle GT and tile seperation in IGT Himal Prasad Ghimiray
2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 1/4] lib/igt_sysfs: Add support to query number of tiles Himal Prasad Ghimiray
2023-07-06 23:46   ` Dixit, Ashutosh
2023-07-07  3:57     ` Ghimiray, Himal Prasad
2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 2/4] lib/igt_sysfs: Handling gt related sysfs uapi changes Himal Prasad Ghimiray
2023-07-07  0:56   ` Dixit, Ashutosh
2023-07-07  4:29     ` Ghimiray, Himal Prasad
2023-07-07  5:02     ` Ghimiray, Himal Prasad
2023-07-06 10:44 ` [igt-dev] [PATCH i-g-t v7 3/4] tests/xe/xe_guc_pc: Change the sysfs paths Himal Prasad Ghimiray
2023-07-07  1:01   ` Dixit, Ashutosh
2023-07-07  5:03     ` Ghimiray, Himal Prasad
2023-07-06 10:45 ` [igt-dev] [PATCH i-g-t v7 4/4] tests/xe/xe_sysfs_tile_prop: adds new test to verify per tile vram addr_range Himal Prasad Ghimiray
2023-07-07  1:10   ` Dixit, Ashutosh
2023-07-07  5:04     ` Ghimiray, Himal Prasad
2023-07-06 13:03 ` [igt-dev] ✓ Fi.CI.BAT: success for Handle GT and tile seperation in IGT (rev6) Patchwork
2023-07-06 13:12 ` [igt-dev] ○ CI.xeBAT: info " Patchwork
2023-07-06 17:12 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.