[PATCH i-g-t 2/3] lib/xe_gt: Trigger forced GT reset using write

Michal Wajdeczko michal.wajdeczko at intel.com
Wed May 28 21:26:17 UTC 2025


The newest Xe driver supports triggering a GT reset using a write
operation and this is a preffered method. Update IGT code to comply
with that and also start using existing helper functions to access
exposed "force_reset" attribute instead of relying on system() call.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: John Harrison <John.C.Harrison at Intel.com>
---
 lib/xe/xe_gt.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/lib/xe/xe_gt.c b/lib/xe/xe_gt.c
index 8bceca10d..c911ca8e4 100644
--- a/lib/xe/xe_gt.c
+++ b/lib/xe/xe_gt.c
@@ -59,15 +59,14 @@ bool has_xe_gt_reset(int fd)
 
 static void xe_force_gt_reset(int fd, int gt, bool sync)
 {
-	char reset_string[128];
-	struct stat st;
+	const char *attr = sync ? "force_reset_sync" : "force_reset";
+	int dir = igt_debugfs_gt_dir(fd, gt);
+	int len;
 
-	igt_assert_eq(fstat(fd, &st), 0);
-
-	snprintf(reset_string, sizeof(reset_string),
-		 "cat /sys/kernel/debug/dri/%d/gt%d/force_reset%s",
-		 minor(st.st_rdev), gt, sync ? "_sync" : "");
-	system(reset_string);
+	igt_assert_neq(dir, -1);
+	len = igt_sysfs_write(dir, attr, "1", 1);
+	close(dir);
+	igt_assert_eq(len, 1);
 }
 
 /**
-- 
2.47.1



More information about the igt-dev mailing list