[PATCH i-g-t 06/46] lib/igt_gt: Add passing ahnd as an argument to igt_hang
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Wed Jun 30 03:22:15 UTC 2021
Required as spinner is used, see gem_ringfill.c
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
---
lib/igt_gt.c | 21 ++++++++++++++++++++-
lib/igt_gt.h | 3 +++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/lib/igt_gt.c b/lib/igt_gt.c
index c049477db..70d055d14 100644
--- a/lib/igt_gt.c
+++ b/lib/igt_gt.c
@@ -269,7 +269,8 @@ static bool has_ctx_exec(int fd, unsigned ring, uint32_t ctx)
* Returns:
* Structure with helper internal state for igt_post_hang_ring().
*/
-igt_hang_t igt_hang_ctx(int fd, uint32_t ctx, int ring, unsigned flags)
+static igt_hang_t __igt_hang_ctx(int fd, uint32_t ctx, int ring, unsigned flags,
+ uint64_t ahnd)
{
struct drm_i915_gem_context_param param;
igt_spin_t *spin;
@@ -298,6 +299,7 @@ igt_hang_t igt_hang_ctx(int fd, uint32_t ctx, int ring, unsigned flags)
context_set_ban(fd, ctx, 0);
spin = __igt_spin_new(fd,
+ .ahnd = ahnd,
.ctx_id = ctx,
.engine = ring,
.flags = IGT_SPIN_NO_PREEMPTION);
@@ -305,6 +307,17 @@ igt_hang_t igt_hang_ctx(int fd, uint32_t ctx, int ring, unsigned flags)
return (igt_hang_t){ spin, ctx, ban, flags };
}
+igt_hang_t igt_hang_ctx(int fd, uint32_t ctx, int ring, unsigned flags)
+{
+ return __igt_hang_ctx(fd, ctx, ring, flags, 0);
+}
+
+igt_hang_t igt_hang_ctx_with_ahnd(int fd, uint32_t ctx, int ring, unsigned flags,
+ uint64_t ahnd)
+{
+ return __igt_hang_ctx(fd, ctx, ring, flags, ahnd);
+}
+
/**
* igt_hang_ring:
* @fd: open i915 drm file descriptor
@@ -322,6 +335,12 @@ igt_hang_t igt_hang_ring(int fd, int ring)
return igt_hang_ctx(fd, 0, ring, 0);
}
+igt_hang_t igt_hang_ring_with_ahnd(int fd, int ring, uint64_t ahnd)
+{
+ return igt_hang_ctx_with_ahnd(fd, 0, ring, 0, ahnd);
+}
+
+
/**
* igt_post_hang_ring:
* @fd: open i915 drm file descriptor
diff --git a/lib/igt_gt.h b/lib/igt_gt.h
index 2ea360cc4..1ddb21ae4 100644
--- a/lib/igt_gt.h
+++ b/lib/igt_gt.h
@@ -45,10 +45,13 @@ void igt_disallow_hang(int fd, igt_hang_t arg);
#define HANG_POISON 0xc5c5c5c5
igt_hang_t igt_hang_ctx(int fd, uint32_t ctx, int ring, unsigned flags);
+igt_hang_t igt_hang_ctx_with_ahnd(int fd, uint32_t ctx, int ring, unsigned flags,
+ uint64_t ahnd);
#define HANG_ALLOW_BAN 1
#define HANG_ALLOW_CAPTURE 2
igt_hang_t igt_hang_ring(int fd, int ring);
+igt_hang_t igt_hang_ring_with_ahnd(int fd, int ring, uint64_t ahnd);
void igt_post_hang_ring(int fd, igt_hang_t arg);
void igt_force_gpu_reset(int fd);
--
2.26.0
More information about the Intel-gfx-trybot
mailing list