From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id EFF11893C9 for ; Mon, 9 Aug 2021 10:53:12 +0000 (UTC) From: Bhanuprakash Modem Date: Mon, 9 Aug 2021 16:23:29 +0530 Message-Id: <20210809105330.325650-1-bhanuprakash.modem@intel.com> In-Reply-To: <20210806134145.24634-52-zbigniew.kempczynski@intel.com> References: <20210806134145.24634-52-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Subject: [igt-dev] [i-g-t v8 51/56] tests/kms_flip: Adopt to use allocator List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: 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 Cc: Zbigniew KempczyƄski Cc: Petri Latvala Cc: Ashutosh Dixit --- tests/kms_flip.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/kms_flip.c b/tests/kms_flip.c index f2fce8d2a..b4836a44d 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; -- 2.32.0