Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t] tests/xe_debugfs: add GT debugfs validation and gsc_info read tests
@ 2026-07-07 16:41 Sobin Thomas
  2026-07-07 19:03 ` ✓ i915.CI.BAT: success for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Sobin Thomas @ 2026-07-07 16:41 UTC (permalink / raw)
  To: igt-dev, daniele.ceraolospurio; +Cc: Sobin Thomas

Add coverage for GT-specific debugfs entries by introducing a new
gt-dir subtest that validates the presence of required files in the
GT debugfs hierarchy. Currently, the test checks for the existence of
the uc/gsc_info debugfs node.

Also add a gsc-info-read subtest to verify that the gsc_info debugfs
node can be read successfully and returns non-empty content when
present. The test skips gracefully on platforms or GTs where the node
is not exposed.

These additions improve validation of Xe debugfs interfaces and provide
basic functional coverage for the GSC information debugfs node.

Signed-off-by: Sobin Thomas <sobin.thomas@intel.com>
---
 tests/intel/xe_debugfs.c | 63 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 62 insertions(+), 1 deletion(-)

diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
index da482157e..8ada52b6e 100644
--- a/tests/intel/xe_debugfs.c
+++ b/tests/intel/xe_debugfs.c
@@ -451,6 +451,29 @@ skip:
 	igt_skip("Failed to open debugfs directory\n");
 }
 
+/**
+ * SUBTEST: gt-dir
+ * Description: Check required debugfs devnodes exist in the GT debugfs directory
+ */
+static void test_gt_dir(struct xe_device *xe_dev, unsigned int gt)
+{
+	const struct check_entry expected_files[] = {
+		{ "uc/gsc_info", O_RDONLY },
+	};
+	int debugfs_fd = igt_debugfs_gt_dir(xe_dev->fd, gt);
+	int missing_count;
+
+	igt_skip_on_f(debugfs_fd < 0, "Failed to open debugfs directory\n");
+
+	missing_count = debugfs_validate_entries(xe_dev, debugfs_fd, expected_files,
+						 ARRAY_SIZE(expected_files));
+
+	close(debugfs_fd);
+
+	igt_fail_on_f(missing_count > 0, "Found %d missing debugfs files (see warnings above)\n",
+		      missing_count);
+}
+
 /**
  * SUBTEST: tile-dir
  * Description: Check required debugfs devnodes exist in the tile debugfs directory
@@ -595,6 +618,31 @@ static void check_gt_reg_sr(int fd, int gt)
 	igt_assert_eq(problems, 0);
 }
 
+/**
+ * SUBTEST: gsc-info-read
+ * Description: Check GSC info debugfs devnode contents
+ */
+static void test_gsc_info_read(struct xe_device *xe_dev, unsigned int gt)
+{
+	int debugfs_fd = igt_debugfs_gt_dir(xe_dev->fd, gt);
+	char *buf;
+
+	igt_skip_on_f(debugfs_fd < 0, "Failed to open debugfs directory\n");
+
+	if (faccessat(debugfs_fd, "uc/gsc_info", F_OK, 0) < 0) {
+		close(debugfs_fd);
+		igt_skip("gsc_info debugfs node not present on gt-%u\n", gt);
+	}
+
+	buf = igt_sysfs_get(debugfs_fd, "uc/gsc_info");
+	close(debugfs_fd);
+
+	igt_assert_f(buf, "Failed to read gsc_info debugfs file\n");
+	igt_assert_f(buf[0] != '\0', "gsc_info debugfs file is empty\n");
+
+	free(buf);
+}
+
 const char *help_str =
 	"  --warn-not-hit|--w\tWarn about devfs nodes that have no tests";
 
@@ -619,8 +667,9 @@ static int opt_handler(int option, int option_index, void *input)
 int igt_main_args("", long_options, help_str, opt_handler, NULL)
 {
 	struct xe_device *xe_dev;
+	unsigned int gt;
 	unsigned int t;
-	int fd = -1, gt;
+	int fd = -1;
 
 	igt_fixture() {
 		fd = drm_open_driver_master(DRIVER_XE);
@@ -633,6 +682,12 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL)
 	igt_subtest("root-dir")
 		test_root_dir(xe_dev);
 
+	igt_describe("Check required debugfs devnodes exist in the GT debugfs directory.");
+	igt_subtest_with_dynamic("gt-dir")
+		xe_for_each_gt(fd, gt)
+			igt_dynamic_f("gt-%u", gt)
+				test_gt_dir(xe_dev, gt);
+
 	igt_describe("Check required debugfs devnodes exist in the tile debugfs directory.");
 	igt_subtest_with_dynamic("tile-dir")
 			xe_for_each_tile(fd, t)
@@ -648,6 +703,12 @@ int igt_main_args("", long_options, help_str, opt_handler, NULL)
 			igt_dynamic_f("gt%d", gt)
 				check_gt_reg_sr(fd, gt);
 
+	igt_describe("Check GSC info debugfs devnode contents.");
+	igt_subtest_with_dynamic("gsc-info-read")
+		xe_for_each_gt(fd, gt)
+			igt_dynamic_f("gt-%u", gt)
+				test_gsc_info_read(xe_dev, gt);
+
 	igt_fixture() {
 		drm_close_driver(fd);
 	}
-- 
2.52.0


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

end of thread, other threads:[~2026-07-08 13:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07 16:41 [PATCH i-g-t] tests/xe_debugfs: add GT debugfs validation and gsc_info read tests Sobin Thomas
2026-07-07 19:03 ` ✓ i915.CI.BAT: success for " Patchwork
2026-07-07 19:19 ` ✓ Xe.CI.BAT: " Patchwork
2026-07-07 22:15 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-07-08 13:16 ` ✗ i915.CI.Full: " Patchwork

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