[PATCH i-g-t v2 9/9] tests/msm/msm_mapping: Add wait for stall-on-fault to re-arm
Rob Clark
rob.clark at oss.qualcomm.com
Wed Jul 2 19:02:49 UTC 2025
Newer msm driver disable stall-on-fault for a grace period, to avoid
a flood of faults causing instability with memory translations that
the hw attempts with the translation stalled. Fortunately it adds a
debugfs file so we can know how long we need to wait for stall-on-
fault to be re-enabled.
See: https://lore.kernel.org/all/20250520-msm-gpu-fault-fixes-next-v7-0-96cd1cc9ae05@gmail.com/
Signed-off-by: Rob Clark <rob.clark at oss.qualcomm.com>
---
tests/msm/msm_mapping.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/tests/msm/msm_mapping.c b/tests/msm/msm_mapping.c
index f820467a3ad2..d224a413cbf2 100644
--- a/tests/msm/msm_mapping.c
+++ b/tests/msm/msm_mapping.c
@@ -74,6 +74,30 @@ get_and_clear_devcore(int timeout_ms)
return buf;
}
+static void
+wait_for_stall_on_fault(int drm_fd)
+{
+ char buf[64] = "\0";
+
+ do {
+ int us;
+
+ igt_debugfs_read(drm_fd, "stall_reenable_time_us", buf);
+ if (!strlen(buf)) {
+ /* Not supported on older kernels: */
+ return;
+ }
+
+ us = atoi(buf);
+ if (!us) {
+ /* Done waiting: */
+ return;
+ }
+
+ usleep(us);
+ } while (true);
+}
+
/*
* Helper to find named buffer address
*/
@@ -227,6 +251,11 @@ do_mapping_test(struct msm_pipe *pipe, const char *buffername, bool write)
igt_fail_on(addr != fault_addr);
free(devcore);
+
+ /* Wait for stall-on-fault to re-enable, otherwise the next sub-test
+ * would not generate a devcore:
+ */
+ wait_for_stall_on_fault(pipe->dev->fd);
}
/*
--
2.50.0
More information about the igt-dev
mailing list