* [PATCH i-g-t] tests/intel/xe_debugfs: add uc debugfs validation and read tests
@ 2026-07-29 7:41 Sobin Thomas
2026-07-29 15:30 ` ✓ Xe.CI.BAT: success for " Patchwork
0 siblings, 1 reply; 2+ messages in thread
From: Sobin Thomas @ 2026-07-29 7:41 UTC (permalink / raw)
To: igt-dev, daniele.ceraolospurio; +Cc: kamil.konieczny, Sobin Thomas
Add coverage for GT-specific uc debugfs entries by introducing a new
uc-info-read subtest that validates the presence of required files in the
GT debugfs hierarchy. The test currently verifies the existence of
the following debugfs nodes:
- uc/gsc_info
- uc/huc_info
- uc/guc_info
- uc/guc_pc
These additions improve validation of Xe GT debugfs interfaces and
provide basic functional coverage for the GSC information debugfs node.
v2: Add support for guc and huc info (Daniele)
v3: Added checks for the device nodes.
v4: Consolidated the calls into single test_uc_info_read subtest
v5: Fixed mandatory and optional logs and access check
is done using igt_sysfs_has_attr. (Daniele)
Fixed subject nits. (Kamil)
Signed-off-by: Sobin Thomas <sobin.thomas@intel.com>
---
tests/intel/xe_debugfs.c | 71 +++++++++++++++++++++++++++++++++++++++-
1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
index da482157e..5c045b04f 100644
--- a/tests/intel/xe_debugfs.c
+++ b/tests/intel/xe_debugfs.c
@@ -16,6 +16,18 @@ struct {
bool warn_on_not_hit;
} opt = { 0 };
+struct uc_info_node {
+ const char *node;
+ bool mandatory;
+};
+
+static const struct uc_info_node uc_info_nodes[] = {
+ { "uc/gsc_info", false },
+ { "uc/huc_info", false },
+ { "uc/guc_info", true },
+ { "uc/guc_pc", true },
+};
+
/**
* TEST: Xe debugfs test
* Description: Xe-specific debugfs tests. These are complementary to the
@@ -595,6 +607,56 @@ static void check_gt_reg_sr(int fd, int gt)
igt_assert_eq(problems, 0);
}
+/**
+ * SUBTEST: uc-info-read
+ * Description: This is for reading the uc device nodes.
+ */
+static void test_uc_info_read(struct xe_device *xe_dev, unsigned int gt)
+{
+ int debugfs_fd = igt_debugfs_gt_dir(xe_dev->fd, gt);
+ int i;
+ int fail_count = 0;
+
+ igt_skip_on_f(debugfs_fd < 0, "Failed to open debugfs directory\n");
+
+ for (i = 0; i < ARRAY_SIZE(uc_info_nodes); i++) {
+ const char *node = uc_info_nodes[i].node;
+ bool mandatory = uc_info_nodes[i].mandatory;
+ char *buf;
+
+ if (!igt_sysfs_has_attr(debugfs_fd, node)) {
+ if (mandatory)
+ fail_count++;
+ igt_info("%s debugfs node not present on GT-%u\n", node, gt);
+ continue;
+ }
+ buf = igt_sysfs_get(debugfs_fd, node);
+ if (!buf) {
+ if (mandatory)
+ fail_count++;
+
+ igt_info("Failed to read %s %s debugfs file on GT-%u\n",
+ mandatory ? "mandatory" : "optional", node, gt);
+ continue;
+ }
+
+ if (buf[0] == '\0') {
+ free(buf);
+ if (mandatory)
+ fail_count++;
+ igt_info("%s %s debugfs file is empty on GT-%u\n",
+ mandatory ? "mandatory" : "optional", node, gt);
+ continue;
+ }
+ igt_info("GT-%u: successfully read %s (%zu bytes)\n", gt, node, strlen(buf));
+ free(buf);
+ }
+ close(debugfs_fd);
+ igt_fail_on_f(fail_count > 0,
+ "%d mandatory debugfs node(s) failed (missing/unreadable/empty) on GT-%u\n",
+ fail_count, gt);
+}
+
const char *help_str =
" --warn-not-hit|--w\tWarn about devfs nodes that have no tests";
@@ -619,8 +681,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;
+ int fd = -1;
+ unsigned int gt;
unsigned int t;
- int fd = -1, gt;
igt_fixture() {
fd = drm_open_driver_master(DRIVER_XE);
@@ -648,6 +711,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("Verify that uC debugfs info nodes are present and readable.");
+ igt_subtest_with_dynamic("uc-info-read")
+ xe_for_each_gt(fd, gt)
+ igt_dynamic_f("gt%d", gt)
+ test_uc_info_read(xe_dev, gt);
+
igt_fixture() {
drm_close_driver(fd);
}
--
2.51.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* ✓ Xe.CI.BAT: success for tests/intel/xe_debugfs: add uc debugfs validation and read tests 2026-07-29 7:41 [PATCH i-g-t] tests/intel/xe_debugfs: add uc debugfs validation and read tests Sobin Thomas @ 2026-07-29 15:30 ` Patchwork 0 siblings, 0 replies; 2+ messages in thread From: Patchwork @ 2026-07-29 15:30 UTC (permalink / raw) To: Sobin Thomas; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 5025 bytes --] == Series Details == Series: tests/intel/xe_debugfs: add uc debugfs validation and read tests URL : https://patchwork.freedesktop.org/series/171230/ State : success == Summary == CI Bug Log - changes from XEIGT_9032_BAT -> XEIGTPW_15604_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (12 -> 13) ------------------------------ Additional (1): bat-bmg-2 Known issues ------------ Here are the changes found in XEIGTPW_15604_BAT that come from known issues: ### IGT changes ### #### Issues hit #### * igt@fbdev@write: - bat-bmg-2: NOTRUN -> [SKIP][1] ([Intel XE#2134]) +4 other tests skip [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@fbdev@write.html * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy: - bat-bmg-2: NOTRUN -> [SKIP][2] ([Intel XE#2233]) [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html * igt@kms_cursor_legacy@basic-flip-after-cursor-legacy: - bat-bmg-2: NOTRUN -> [SKIP][3] ([Intel XE#2489] / [Intel XE#3419]) +13 other tests skip [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html * igt@kms_flip@basic-flip-vs-modeset: - bat-bmg-2: NOTRUN -> [SKIP][4] ([Intel XE#2482]) +3 other tests skip [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@kms_flip@basic-flip-vs-modeset.html * igt@kms_frontbuffer_tracking@basic: - bat-bmg-2: NOTRUN -> [SKIP][5] ([Intel XE#2434] / [Intel XE#2548] / [Intel XE#6314]) [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@kms_frontbuffer_tracking@basic.html * igt@kms_psr@psr-sprite-plane-onoff: - bat-bmg-2: NOTRUN -> [SKIP][6] ([Intel XE#2234] / [Intel XE#2850]) +2 other tests skip [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@kms_psr@psr-sprite-plane-onoff.html * igt@xe_exec_multi_queue@priority: - bat-bmg-2: NOTRUN -> [SKIP][7] ([Intel XE#8364]) +13 other tests skip [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@xe_exec_multi_queue@priority.html * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit: - bat-bmg-2: NOTRUN -> [SKIP][8] ([Intel XE#2229]) [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html * igt@xe_pat@pat-index-xehpc: - bat-bmg-2: NOTRUN -> [SKIP][9] ([Intel XE#1420] / [Intel XE#7590]) [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@xe_pat@pat-index-xehpc.html * igt@xe_pat@pat-index-xelp: - bat-bmg-2: NOTRUN -> [SKIP][10] ([Intel XE#2245] / [Intel XE#7590]) [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@xe_pat@pat-index-xelp.html * igt@xe_pat@pat-index-xelpg: - bat-bmg-2: NOTRUN -> [SKIP][11] ([Intel XE#2236] / [Intel XE#7590]) [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/bat-bmg-2/igt@xe_pat@pat-index-xelpg.html [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420 [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134 [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229 [Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233 [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234 [Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236 [Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245 [Intel XE#2434]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2434 [Intel XE#2482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2482 [Intel XE#2489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2489 [Intel XE#2548]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2548 [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850 [Intel XE#3419]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3419 [Intel XE#6314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6314 [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590 [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364 Build changes ------------- * IGT: IGT_9032 -> IGTPW_15604 * Linux: xe-5499-5df28e621a86e501b09902fdf816f8c02a162794 -> xe-5500-e0242e84b0b16424381b5a9981a3ee1a4a3786d3 IGTPW_15604: 19f62a86f68cba0b13d604638695c5916d85e374 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git IGT_9032: 9032 xe-5499-5df28e621a86e501b09902fdf816f8c02a162794: 5df28e621a86e501b09902fdf816f8c02a162794 xe-5500-e0242e84b0b16424381b5a9981a3ee1a4a3786d3: e0242e84b0b16424381b5a9981a3ee1a4a3786d3 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15604/index.html [-- Attachment #2: Type: text/html, Size: 5948 bytes --] ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-29 15:31 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-07-29 7:41 [PATCH i-g-t] tests/intel/xe_debugfs: add uc debugfs validation and read tests Sobin Thomas 2026-07-29 15:30 ` ✓ Xe.CI.BAT: success for " 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.