summaryrefslogtreecommitdiff
path: root/tests/kms_flip.c
diff options
context:
space:
mode:
authorBhanuprakash Modem <bhanuprakash.modem@intel.com>2021-06-25 18:24:07 +0530
committerZbigniew Kempczyński <zbigniew.kempczynski@intel.com>2021-08-10 21:02:50 +0200
commit0f75f873cf6b769089f675fccfda3ccae493f3b3 (patch)
tree932f0c6fd517303af233b052f62186cbd590a607 /tests/kms_flip.c
parent7311d36f32230be8d8277d0a0b34b76bfc49ddcb (diff)
tests/kms_flip: Adopt to use allocator
For newer gens kernel will reject relocations returning -EINVAL so we should just provide the allocator handle to inject the hang. V2: * Drop is_i915_device() check Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Diffstat (limited to 'tests/kms_flip.c')
-rwxr-xr-xtests/kms_flip.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index f2fce8d2..b4836a44 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -616,9 +616,9 @@ static void recreate_fb(struct test_output *o)
o->fb_info[o->current_fb_id].fb_id = new_fb_id;
}
-static igt_hang_t hang_gpu(int fd)
+static igt_hang_t hang_gpu(int fd, uint64_t ahnd)
{
- return igt_hang_ring(fd, I915_EXEC_DEFAULT);
+ return igt_hang_ring_with_ahnd(fd, I915_EXEC_DEFAULT, ahnd);
}
static void unhang_gpu(int fd, igt_hang_t hang)
@@ -675,6 +675,7 @@ static bool run_test_step(struct test_output *o, unsigned int *events)
struct vblank_reply vbl_reply;
unsigned int target_seq;
igt_hang_t hang;
+ uint64_t ahnd = 0;
target_seq = o->vblank_state.seq_step;
/* Absolute waits only works once we have a frame counter. */
@@ -776,8 +777,10 @@ static bool run_test_step(struct test_output *o, unsigned int *events)
igt_print_activity();
memset(&hang, 0, sizeof(hang));
- if (do_flip && (o->flags & TEST_HANG))
- hang = hang_gpu(drm_fd);
+ if (do_flip && (o->flags & TEST_HANG)) {
+ ahnd = get_reloc_ahnd(drm_fd, 0);
+ hang = hang_gpu(drm_fd, ahnd);
+ }
/* try to make sure we can issue two flips during the same frame */
if (do_flip && (o->flags & TEST_EBUSY)) {
@@ -847,6 +850,7 @@ static bool run_test_step(struct test_output *o, unsigned int *events)
igt_assert(do_page_flip(o, new_fb_id, false) == expected_einval);
unhang_gpu(drm_fd, hang);
+ put_ahnd(ahnd);
*events = completed_events;