[igt-dev] [PATCH i-g-t v3] lib/drmtest: Add function drm_reopen_driver()

Anna Karas anna.karas at intel.com
Thu May 11 13:06:12 UTC 2023


We need an equivalent of gem_reopen_driver() in XE. In order to not
duplicate the code, move gem_reopen_driver() one directory up from
lib/i915 to lib as drm_reopen_driver() so XE can use it too.

Rename gem_reopen_driver() across files.

v2: cache xe_device after opening the driver
v3: fix incorrect indentation

Reference: VLK-46235
Signed-off-by: Anna Karas <anna.karas at intel.com>
Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
---
 lib/drmtest.c                    | 22 ++++++++++++++++++++++
 lib/drmtest.h                    |  2 ++
 lib/i915/gem.c                   | 20 +-------------------
 lib/i915/gem.h                   |  2 --
 lib/i915/gem_ring.c              |  2 +-
 lib/i915/gem_submission.c        |  4 ++--
 tests/i915/api_intel_allocator.c |  6 +++---
 tests/i915/drm_fdinfo.c          |  2 +-
 tests/i915/gem_barrier_race.c    |  2 +-
 tests/i915/gem_close_race.c      |  4 ++--
 tests/i915/gem_concurrent_all.c  |  2 +-
 tests/i915/gem_ctx_create.c      |  2 +-
 tests/i915/gem_ctx_exec.c        |  2 +-
 tests/i915/gem_ctx_param.c       |  3 +--
 tests/i915/gem_ctx_persistence.c | 12 ++++++------
 tests/i915/gem_ctx_shared.c      |  2 +-
 tests/i915/gem_eio.c             |  2 +-
 tests/i915/gem_exec_alignment.c  |  6 +++---
 tests/i915/gem_exec_capture.c    |  2 +-
 tests/i915/gem_exec_fair.c       |  2 +-
 tests/i915/gem_exec_fence.c      |  2 +-
 tests/i915/gem_exec_nop.c        |  2 +-
 tests/i915/gem_exec_parallel.c   |  2 +-
 tests/i915/gem_exec_whisper.c    |  4 ++--
 tests/i915/gem_lmem_evict.c      |  2 +-
 tests/i915/gem_lmem_swapping.c   |  6 +++---
 tests/i915/gem_mmap_gtt.c        |  7 +++----
 tests/i915/gem_mmap_offset.c     |  9 ++++-----
 tests/i915/gem_reset_stats.c     | 30 +++++++++++++++---------------
 tests/i915/gem_ringfill.c        |  2 +-
 tests/i915/gem_softpin.c         |  2 +-
 tests/i915/gem_userptr_blits.c   |  2 +-
 tests/i915/gem_vm_create.c       |  2 +-
 tests/i915/gem_watchdog.c        |  2 +-
 tests/i915/gem_workarounds.c     |  2 +-
 tests/i915/i915_suspend.c        |  2 +-
 tests/i915/perf.c                |  2 +-
 37 files changed, 91 insertions(+), 90 deletions(-)

diff --git a/lib/drmtest.c b/lib/drmtest.c
index c91a9142..7630bb79 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -49,6 +49,7 @@
 #include "drmtest.h"
 #include "i915_drm.h"
 #include "i915/gem.h"
+#include "xe/xe_query.h"
 #include "intel_chipset.h"
 #include "intel_io.h"
 #include "igt_debugfs.h"
@@ -652,6 +653,27 @@ int drm_open_driver_render(int chipset)
 	return fd;
 }
 
+/**
+ * drm_reopen_driver:
+ * @fd: re-open the drm file descriptor
+ *
+ * Re-opens the drm fd which is useful in instances where a clean default
+ * context is needed.
+ */
+int drm_reopen_driver(int fd)
+{
+	char path[256];
+
+	snprintf(path, sizeof(path), "/proc/self/fd/%d", fd);
+	fd = open(path, O_RDWR);
+	igt_assert_fd(fd);
+
+	if (is_xe_device(fd))
+		xe_device_get(fd);
+
+	return fd;
+}
+
 void igt_require_amdgpu(int fd)
 {
 	igt_require(is_amdgpu_device(fd));
diff --git a/lib/drmtest.h b/lib/drmtest.h
index 3c88b85c..ae86ee19 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -106,6 +106,8 @@ int __drm_open_driver_another(int idx, int chipset);
 int __drm_open_driver(int chipset);
 int __drm_open_driver_render(int chipset);
 
+int drm_reopen_driver(int fd);
+
 void igt_require_amdgpu(int fd);
 void igt_require_intel(int fd);
 void igt_require_i915(int fd);
diff --git a/lib/i915/gem.c b/lib/i915/gem.c
index ed45a9ed..6da3e5c9 100644
--- a/lib/i915/gem.c
+++ b/lib/i915/gem.c
@@ -147,7 +147,7 @@ void igt_require_gem(int i915)
 	 * of a wedged device, not for actually waiting on outstanding
 	 * requests! So create a new drm_file for the device that is clean.
 	 */
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 
 	/*
 	 * Reset the global seqno at the start of each test. This ensures that
@@ -189,21 +189,3 @@ void gem_quiescent_gpu(int i915)
 	igt_drop_caches_set(i915,
 			    DROP_ACTIVE | DROP_RETIRE | DROP_IDLE | DROP_FREED);
 }
-
-/**
- * gem_reopen_driver:
- * @i915: re-open the i915 drm file descriptor
- *
- * Re-opens the drm fd which is useful in instances where a clean default
- * context is needed.
- */
-int gem_reopen_driver(int i915)
-{
-	char path[256];
-
-	snprintf(path, sizeof(path), "/proc/self/fd/%d", i915);
-	i915 = open(path, O_RDWR);
-	igt_assert_fd(i915);
-
-	return i915;
-}
diff --git a/lib/i915/gem.h b/lib/i915/gem.h
index feabac8d..06dcb546 100644
--- a/lib/i915/gem.h
+++ b/lib/i915/gem.h
@@ -30,6 +30,4 @@
 void igt_require_gem(int i915);
 void gem_quiescent_gpu(int i915);
 
-int gem_reopen_driver(int i915);
-
 #endif /* I915_GEM_H */
diff --git a/lib/i915/gem_ring.c b/lib/i915/gem_ring.c
index 6d28b5d9..eb2c7c2c 100644
--- a/lib/i915/gem_ring.c
+++ b/lib/i915/gem_ring.c
@@ -149,7 +149,7 @@ gem_measure_ring_inflight(int fd, unsigned int engine, enum measure_ring_flags f
 {
 	unsigned int min = ~0u;
 
-	fd = gem_reopen_driver(fd);
+	fd = drm_reopen_driver(fd);
 
 	/* When available, disable execbuf throttling */
 	fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | O_NONBLOCK);
diff --git a/lib/i915/gem_submission.c b/lib/i915/gem_submission.c
index 0358802e..adf5eb39 100644
--- a/lib/i915/gem_submission.c
+++ b/lib/i915/gem_submission.c
@@ -30,7 +30,6 @@
 
 #include <i915_drm.h>
 
-#include "i915/gem.h"
 #include "i915/gem_create.h"
 #include "i915/gem_engine_topology.h"
 #include "i915/gem_submission.h"
@@ -42,6 +41,7 @@
 #include "intel_chipset.h"
 #include "intel_reg.h"
 #include "ioctl_wrappers.h"
+#include "drmtest.h"
 
 /**
  * SECTION:gem_submission
@@ -158,7 +158,7 @@ void gem_test_all_engines(int i915)
 	};
 	const intel_ctx_t *ctx;
 
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 	igt_assert(!is_wedged(i915));
 
 	ctx = intel_ctx_create_all_physical(i915);
diff --git a/tests/i915/api_intel_allocator.c b/tests/i915/api_intel_allocator.c
index e9039a21..1263e0fb 100644
--- a/tests/i915/api_intel_allocator.c
+++ b/tests/i915/api_intel_allocator.c
@@ -498,7 +498,7 @@ static void reopen(int fd)
 
 	igt_require_gem(fd);
 
-	fd2 = gem_reopen_driver(fd);
+	fd2 = drm_reopen_driver(fd);
 
 	__reopen_allocs(fd, fd2, true);
 
@@ -514,7 +514,7 @@ static void reopen_fork(int fd)
 
 	intel_allocator_multiprocess_start();
 
-	fd2 = gem_reopen_driver(fd);
+	fd2 = drm_reopen_driver(fd);
 
 	igt_fork(child, 2) {
 		igt_until_timeout(REOPEN_TIMEOUT)
@@ -681,7 +681,7 @@ static void fork_reopen_allocator(int fd, uint8_t type)
 		igt_assert(!intel_allocator_is_allocated(ctx_ahnd, 1, 123, offset));
 		intel_allocator_alloc(ctx_ahnd, 2, 123, 0);
 
-		fd = gem_reopen_driver(fd);
+		fd = drm_reopen_driver(fd);
 		fd_ahnd = intel_allocator_open(fd, 0, type);
 		igt_assert(!intel_allocator_is_allocated(fd_ahnd, 1, 123, offset));
 		intel_allocator_alloc(fd_ahnd, 2, 123, 0);
diff --git a/tests/i915/drm_fdinfo.c b/tests/i915/drm_fdinfo.c
index 1b124755..ac668c29 100644
--- a/tests/i915/drm_fdinfo.c
+++ b/tests/i915/drm_fdinfo.c
@@ -201,7 +201,7 @@ single(int gem_fd, const intel_ctx_t *ctx,
 		igt_require(!gem_using_guc_submission(gem_fd));
 
 	if (flags & TEST_ISOLATION) {
-		spin_fd = gem_reopen_driver(gem_fd);
+		spin_fd = drm_reopen_driver(gem_fd);
 		ctx = intel_ctx_create_all_physical(spin_fd);
 	} else {
 		spin_fd = gem_fd;
diff --git a/tests/i915/gem_barrier_race.c b/tests/i915/gem_barrier_race.c
index f446aab6..faeec361 100644
--- a/tests/i915/gem_barrier_race.c
+++ b/tests/i915/gem_barrier_race.c
@@ -95,7 +95,7 @@ static void intel_context_first_pin_last_unpin_loop(int fd, uint64_t engine, int
 	 */
 	const uint32_t batch[2] = { 0, MI_BATCH_BUFFER_END };
 
-	fd = gem_reopen_driver(fd);
+	fd = drm_reopen_driver(fd);
 
 	do {
 		uint32_t handle = gem_create(fd, 4096);
diff --git a/tests/i915/gem_close_race.c b/tests/i915/gem_close_race.c
index 9c646f42..dc88eca4 100644
--- a/tests/i915/gem_close_race.c
+++ b/tests/i915/gem_close_race.c
@@ -170,7 +170,7 @@ static void process(int fd, int child)
 {
 	uint32_t handle;
 
-	fd = gem_reopen_driver(fd);
+	fd = drm_reopen_driver(fd);
 
 	handle = load(fd);
 	if ((child & 63) == 63)
@@ -220,7 +220,7 @@ static void thread(int fd, struct drm_gem_open name,
 
 		memset(history, 0, sizeof(*history) * N_HISTORY);
 
-		crashme.fd = gem_reopen_driver(fd);
+		crashme.fd = drm_reopen_driver(fd);
 
 		memset(&its, 0, sizeof(its));
 		its.it_value.tv_nsec = msec(1) + (rand() % msec(150));
diff --git a/tests/i915/gem_concurrent_all.c b/tests/i915/gem_concurrent_all.c
index 25b7daf8..fb3b5f5d 100644
--- a/tests/i915/gem_concurrent_all.c
+++ b/tests/i915/gem_concurrent_all.c
@@ -1465,7 +1465,7 @@ static void __run_forked(struct buffers *buffers,
 		int num_buffers;
 
 		/* recreate process local variables */
-		fd = gem_reopen_driver(fd);
+		fd = drm_reopen_driver(fd);
 
 		intel_allocator_init(); /* detach from thread */
 		num_buffers = buffers->num_buffers / num_children;
diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
index 39f070af..a59abd08 100644
--- a/tests/i915/gem_ctx_create.c
+++ b/tests/i915/gem_ctx_create.c
@@ -106,7 +106,7 @@ static void files(int core, const intel_ctx_cfg_t *cfg,
 
 		clock_gettime(CLOCK_MONOTONIC, &start);
 		do {
-			fd = gem_reopen_driver(core);
+			fd = drm_reopen_driver(core);
 
 			ctx = intel_ctx_create(fd, cfg);
 			execbuf.rsvd1 = ctx->id;
diff --git a/tests/i915/gem_ctx_exec.c b/tests/i915/gem_ctx_exec.c
index 3d94f01d..20fa1159 100644
--- a/tests/i915/gem_ctx_exec.c
+++ b/tests/i915/gem_ctx_exec.c
@@ -282,7 +282,7 @@ static void nohangcheck_hostile(int i915)
 	 * we forcibly terminate that context.
 	 */
 
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 
 	dir = igt_params_open(i915);
 	igt_require(dir != -1);
diff --git a/tests/i915/gem_ctx_param.c b/tests/i915/gem_ctx_param.c
index d119ea74..2526b09c 100644
--- a/tests/i915/gem_ctx_param.c
+++ b/tests/i915/gem_ctx_param.c
@@ -28,7 +28,6 @@
 #include <limits.h>
 
 #include "igt.h"
-#include "i915/gem.h"
 #include "i915/gem_create.h"
 #include "i915/gem_vm.h"
 
@@ -81,7 +80,7 @@ static void set_priority(int i915)
 	igt_permute_array(values, size, igt_exchange_int64);
 
 	igt_fork(flags, NEW_CTX | USER) {
-		int fd = gem_reopen_driver(i915);
+		int fd = drm_reopen_driver(i915);
 		struct drm_i915_gem_context_param arg = {
 			.param = I915_CONTEXT_PARAM_PRIORITY,
 			.ctx_id = flags & NEW_CTX ? gem_context_create(fd) : 0,
diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
index 9fb52818..c0197cea 100644
--- a/tests/i915/gem_ctx_persistence.c
+++ b/tests/i915/gem_ctx_persistence.c
@@ -598,7 +598,7 @@ static void test_nonpersistent_file(int i915)
 	 * has been made nonpersistent, in which case it must be terminated.
 	 */
 
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 
 	ahnd = get_reloc_ahnd(i915, 0);
 	gem_context_set_persistence(i915, 0, false);
@@ -742,7 +742,7 @@ static void test_process(int i915)
 		uint64_t ahnd;
 
 		intel_allocator_init();
-		i915 = gem_reopen_driver(i915);
+		i915 = drm_reopen_driver(i915);
 		gem_quiescent_gpu(i915);
 
 		gem_context_set_persistence(i915, 0, false);
@@ -790,7 +790,7 @@ static void test_userptr(int i915)
 		uint64_t ahnd;
 
 		intel_allocator_init();
-		i915 = gem_reopen_driver(i915);
+		i915 = drm_reopen_driver(i915);
 		gem_quiescent_gpu(i915);
 
 		gem_context_set_persistence(i915, 0, false);
@@ -833,7 +833,7 @@ static void test_process_mixed(int pfd, const intel_ctx_cfg_t *cfg,
 	igt_fork(child, 1) {
 		int i915;
 
-		i915 = gem_reopen_driver(pfd);
+		i915 = drm_reopen_driver(pfd);
 		gem_quiescent_gpu(i915);
 
 		for (int persists = 0; persists <= 1; persists++) {
@@ -1000,7 +1000,7 @@ static void test_processes(int i915)
 			uint64_t ahnd;
 
 			intel_allocator_init();
-			i915 = gem_reopen_driver(i915);
+			i915 = drm_reopen_driver(i915);
 			gem_context_set_persistence(i915, 0, i);
 
 			ahnd = get_reloc_ahnd(i915, 0);
@@ -1069,7 +1069,7 @@ static void __smoker(int i915, const intel_ctx_cfg_t *cfg,
 	const intel_ctx_t *ctx;
 	uint64_t ahnd;
 
-	fd = gem_reopen_driver(i915);
+	fd = drm_reopen_driver(i915);
 	ctx = ctx_create_persistence(fd, cfg, expected > 0);
 	ahnd = get_reloc_ahnd(fd, ctx->id);
 	spin = igt_spin_new(fd, .ahnd = ahnd, .ctx = ctx, .engine = engine,
diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c
index 3d73db58..8629992e 100644
--- a/tests/i915/gem_ctx_shared.c
+++ b/tests/i915/gem_ctx_shared.c
@@ -206,7 +206,7 @@ static void exhaust_shared_gtt(int i915, unsigned int flags)
 		},
 	};
 
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 
 	vm_create_ext.param.value = gem_vm_create(i915);
 
diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
index 8dbaa7a7..81e55e16 100644
--- a/tests/i915/gem_eio.c
+++ b/tests/i915/gem_eio.c
@@ -450,7 +450,7 @@ static void set_heartbeat(int i915, int interval)
 
 static int reopen_device(int i915)
 {
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 	igt_require_gem(i915);
 	set_heartbeat(i915, 250); /* require gem restores defaults */
 
diff --git a/tests/i915/gem_exec_alignment.c b/tests/i915/gem_exec_alignment.c
index a9fcd2a7..5059572f 100644
--- a/tests/i915/gem_exec_alignment.c
+++ b/tests/i915/gem_exec_alignment.c
@@ -158,7 +158,7 @@ naughty_child(int i915, int link, uint32_t shared, unsigned int flags)
 	uint64_t elapsed;
 
 	if (flags & ISOLATED)
-		i915 = gem_reopen_driver(i915);
+		i915 = drm_reopen_driver(i915);
 
 	if (!(flags & SHARED))
 		shared = 0;
@@ -449,7 +449,7 @@ static void forked(int i915, int timeout)
 	struct drm_i915_gem_exec_object2 *obj;
 	unsigned long count;
 
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 	igt_require(gem_uses_full_ppgtt(i915));
 
 	obj = setup_many(i915, &count);
@@ -457,7 +457,7 @@ static void forked(int i915, int timeout)
 		obj[i].handle = gem_flink(i915, obj[i].handle);
 
 	igt_fork(child, sysconf(_SC_NPROCESSORS_ONLN)) {
-		i915 = gem_reopen_driver(i915);
+		i915 = drm_reopen_driver(i915);
 		for (unsigned long i = 0; i < count; i++)
 			obj[i].handle = gem_open(i915, obj[i].handle);
 		__many(i915, timeout, obj, count);
diff --git a/tests/i915/gem_exec_capture.c b/tests/i915/gem_exec_capture.c
index 9c391192..5d3e0905 100644
--- a/tests/i915/gem_exec_capture.c
+++ b/tests/i915/gem_exec_capture.c
@@ -714,7 +714,7 @@ static void prioinv(int fd, int dir, const intel_ctx_t *ctx,
 	igt_fork(child, 1) {
 		const intel_ctx_t *ctx2;
 		int fence_out;
-		fd = gem_reopen_driver(fd);
+		fd = drm_reopen_driver(fd);
 		igt_debug("Submitting large capture [%ld x %dMiB objects]\n",
 			  count, (int)(size >> 20));
 
diff --git a/tests/i915/gem_exec_fair.c b/tests/i915/gem_exec_fair.c
index 8208ab40..67af4739 100644
--- a/tests/i915/gem_exec_fair.c
+++ b/tests/i915/gem_exec_fair.c
@@ -728,7 +728,7 @@ static void fairness(int i915, const intel_ctx_cfg_t *cfg,
 				if (common)
 					dmabuf = prime_handle_to_fd(i915, common);
 
-				i915 = gem_reopen_driver(i915);
+				i915 = drm_reopen_driver(i915);
 
 				if (dmabuf != -1)
 					common = prime_fd_to_handle(i915, dmabuf);
diff --git a/tests/i915/gem_exec_fence.c b/tests/i915/gem_exec_fence.c
index c2d874f8..70f86da5 100644
--- a/tests/i915/gem_exec_fence.c
+++ b/tests/i915/gem_exec_fence.c
@@ -1655,7 +1655,7 @@ static void test_invalid_timeline_fence_array(int fd)
 	uint64_t value;
 	void *ptr;
 
-	fd = gem_reopen_driver(fd);
+	fd = drm_reopen_driver(fd);
 
 	/* create an otherwise valid execbuf */
 	memset(&obj, 0, sizeof(obj));
diff --git a/tests/i915/gem_exec_nop.c b/tests/i915/gem_exec_nop.c
index 497f57f0..f1ec23e8 100644
--- a/tests/i915/gem_exec_nop.c
+++ b/tests/i915/gem_exec_nop.c
@@ -608,7 +608,7 @@ static void multiple(int fd, const intel_ctx_t *ctx,
 		int i915;
 		const intel_ctx_t *child_ctx;
 
-		i915 = gem_reopen_driver(fd);
+		i915 = drm_reopen_driver(fd);
 		child_ctx = intel_ctx_create(i915, &ctx->cfg);
 		execbuf.rsvd1 = child_ctx->id;
 
diff --git a/tests/i915/gem_exec_parallel.c b/tests/i915/gem_exec_parallel.c
index 705b22cb..97257ea4 100644
--- a/tests/i915/gem_exec_parallel.c
+++ b/tests/i915/gem_exec_parallel.c
@@ -86,7 +86,7 @@ static void *thread(void *data)
 	pthread_mutex_unlock(t->mutex);
 
 	if (t->flags & FDS) {
-		fd = gem_reopen_driver(t->fd);
+		fd = drm_reopen_driver(t->fd);
 	} else {
 		fd = t->fd;
 	}
diff --git a/tests/i915/gem_exec_whisper.c b/tests/i915/gem_exec_whisper.c
index 29d96cdc..80e4b391 100644
--- a/tests/i915/gem_exec_whisper.c
+++ b/tests/i915/gem_exec_whisper.c
@@ -98,7 +98,7 @@ static void init_hang(struct hang *h, int fd, const intel_ctx_cfg_t *cfg)
 	uint32_t *batch;
 	int i, gen;
 
-	h->fd = gem_reopen_driver(fd);
+	h->fd = drm_reopen_driver(fd);
 	igt_allow_hang(h->fd, 0, 0);
 
 	gen = intel_gen(intel_get_drm_devid(h->fd));
@@ -329,7 +329,7 @@ static void whisper(int fd, const intel_ctx_t *ctx,
 
 		if (flags & FDS) {
 			for (n = 0; n < 64; n++) {
-				fds[n] = gem_reopen_driver(fd);
+				fds[n] = drm_reopen_driver(fd);
 			}
 		}
 		if (flags & (CONTEXTS | QUEUES | FDS)) {
diff --git a/tests/i915/gem_lmem_evict.c b/tests/i915/gem_lmem_evict.c
index 71a066de..d2611bd5 100644
--- a/tests/i915/gem_lmem_evict.c
+++ b/tests/i915/gem_lmem_evict.c
@@ -57,7 +57,7 @@ static void test_dontneed_evict_race(int fd,
 	igt_fork(child, 1) {
 		uint32_t handle2;
 
-		fd = gem_reopen_driver(fd);
+		fd = drm_reopen_driver(fd);
 
 		handle2 = gem_create_in_memory_region_list(fd,
 							   size, 0,
diff --git a/tests/i915/gem_lmem_swapping.c b/tests/i915/gem_lmem_swapping.c
index 55b044ec..4177286b 100644
--- a/tests/i915/gem_lmem_swapping.c
+++ b/tests/i915/gem_lmem_swapping.c
@@ -539,7 +539,7 @@ static void test_evict(int i915,
 	fill_params(i915, &params, region, flags, nproc, false);
 
 	if (flags & TEST_PARALLEL) {
-		int fd = gem_reopen_driver(i915);
+		int fd = drm_reopen_driver(i915);
 
 		intel_allocator_multiprocess_start();
 		ctx = intel_ctx_create_all_physical(fd);
@@ -610,7 +610,7 @@ static void test_smem_oom(int i915,
 
 	/* process for testing lmem eviction */
 	igt_fork(child, 1) {
-		int fd = gem_reopen_driver(i915);
+		int fd = drm_reopen_driver(i915);
 		struct params params;
 
 		fill_params(i915, &params, region, 0, 1, true);
@@ -637,7 +637,7 @@ static void test_smem_oom(int i915,
 				}
 			}
 			igt_fork(child, 1) {
-				int fd = gem_reopen_driver(i915);
+				int fd = drm_reopen_driver(i915);
 
 				for (int pass = 0; pass < num_alloc; pass++) {
 					if (READ_ONCE(*lmem_done))
diff --git a/tests/i915/gem_mmap_gtt.c b/tests/i915/gem_mmap_gtt.c
index c14ab50e..0b3a6e5b 100644
--- a/tests/i915/gem_mmap_gtt.c
+++ b/tests/i915/gem_mmap_gtt.c
@@ -41,7 +41,6 @@
 #include <sys/wait.h>
 #include "drm.h"
 
-#include "i915/gem.h"
 #include "i915/gem_create.h"
 #include "igt.h"
 #include "igt_sysfs.h"
@@ -360,8 +359,8 @@ static void
 test_isolation(int i915)
 {
 	struct drm_i915_gem_mmap_gtt mmap_arg;
-	int A = gem_reopen_driver(i915);
-	int B = gem_reopen_driver(i915);
+	int A = drm_reopen_driver(i915);
+	int B = drm_reopen_driver(i915);
 	uint64_t offset_a, offset_b;
 	uint32_t a, b;
 	void *ptr;
@@ -448,7 +447,7 @@ test_flink_race(int i915)
 	igt_assert(handles != MAP_FAILED);
 
 	igt_fork(child, ncpus + 1) {
-		int fd = gem_reopen_driver(i915);
+		int fd = drm_reopen_driver(i915);
 
 		do {
 			struct drm_i915_gem_mmap_gtt mmap_arg = {};
diff --git a/tests/i915/gem_mmap_offset.c b/tests/i915/gem_mmap_offset.c
index 962fc1b7..e7659e30 100644
--- a/tests/i915/gem_mmap_offset.c
+++ b/tests/i915/gem_mmap_offset.c
@@ -33,7 +33,6 @@
 #include <unistd.h>
 #include "drm.h"
 
-#include "i915/gem.h"
 #include "i915/gem_create.h"
 #include "i915/intel_memory_region.h"
 #include "igt.h"
@@ -299,8 +298,8 @@ static void isolation(int i915)
 			struct drm_i915_gem_mmap_offset mmap_arg = {
 				.flags = t->type
 			};
-			int A = gem_reopen_driver(i915);
-			int B = gem_reopen_driver(i915);
+			int A = drm_reopen_driver(i915);
+			int B = drm_reopen_driver(i915);
 			uint64_t offset_a, offset_b;
 			uint32_t a, b;
 			void *ptr;
@@ -622,7 +621,7 @@ static void open_flood(int i915, int timeout)
 			continue;
 
 		igt_fork(child, 1) {
-			i915 = gem_reopen_driver(i915);
+			i915 = drm_reopen_driver(i915);
 			arg.handle = prime_fd_to_handle(i915, dmabuf);
 
 			do {
@@ -636,7 +635,7 @@ static void open_flood(int i915, int timeout)
 	igt_until_timeout(timeout) {
 		int tmp;
 
-		tmp = gem_reopen_driver(i915);
+		tmp = drm_reopen_driver(i915);
 		handle = prime_fd_to_handle(i915, dmabuf);
 
 		for_each_mmap_offset_type(i915, t) {
diff --git a/tests/i915/gem_reset_stats.c b/tests/i915/gem_reset_stats.c
index 7b003d88..ddc61781 100644
--- a/tests/i915/gem_reset_stats.c
+++ b/tests/i915/gem_reset_stats.c
@@ -267,7 +267,7 @@ static void test_rs(const struct intel_execution_ring *e,
 	igt_debug("num fds=%d, hang index=%d\n", num_fds, hang_index);
 
 	for (i = 0; i < num_fds; i++) {
-		fd[i] = gem_reopen_driver(device);
+		fd[i] = drm_reopen_driver(device);
 		assert_reset_status(i, fd[i], 0, RS_NO_ERROR);
 	}
 
@@ -318,7 +318,7 @@ static void test_rs_ctx(const struct intel_execution_ring *e,
 	test_rs(e, num_fds, -1, RS_NO_ERROR);
 
 	for (i = 0; i < num_fds; i++) {
-		fd[i] = gem_reopen_driver(device);
+		fd[i] = drm_reopen_driver(device);
 		igt_assert(fd[i]);
 		assert_reset_status(i, fd[i], 0, RS_NO_ERROR);
 
@@ -384,8 +384,8 @@ static void test_ban(const struct intel_execution_ring *e)
 	int ban, retry = 10;
 	int active_count = 0;
 
-	fd_bad = gem_reopen_driver(device);
-	fd_good = gem_reopen_driver(device);
+	fd_bad = drm_reopen_driver(device);
+	fd_good = drm_reopen_driver(device);
 
 	assert_reset_status(fd_bad, fd_bad, 0, RS_NO_ERROR);
 	assert_reset_status(fd_good, fd_good, 0, RS_NO_ERROR);
@@ -438,7 +438,7 @@ static void test_ban_ctx(const struct intel_execution_ring *e)
 	uint32_t ctx_good, ctx_bad;
 	int active_count = 0;
 
-	fd = gem_reopen_driver(device);
+	fd = drm_reopen_driver(device);
 
 	assert_reset_status(fd, fd, 0, RS_NO_ERROR);
 
@@ -494,8 +494,8 @@ static void test_unrelated_ctx(const struct intel_execution_ring *e)
 	int fd1,fd2;
 	int ctx_guilty, ctx_unrelated;
 
-	fd1 = gem_reopen_driver(device);
-	fd2 = gem_reopen_driver(device);
+	fd1 = drm_reopen_driver(device);
+	fd2 = drm_reopen_driver(device);
 	assert_reset_status(0, fd1, 0, RS_NO_ERROR);
 	assert_reset_status(1, fd2, 0, RS_NO_ERROR);
 	ctx_guilty = gem_context_create(fd1);
@@ -530,7 +530,7 @@ static int get_reset_count(int fd, int ctx)
 
 static void test_close_pending_ctx(const struct intel_execution_ring *e)
 {
-	int fd = gem_reopen_driver(device);
+	int fd = drm_reopen_driver(device);
 	uint32_t ctx = gem_context_create(fd);
 
 	assert_reset_status(fd, fd, ctx, RS_NO_ERROR);
@@ -544,7 +544,7 @@ static void test_close_pending_ctx(const struct intel_execution_ring *e)
 
 static void test_close_pending(const struct intel_execution_ring *e)
 {
-	int fd = gem_reopen_driver(device);
+	int fd = drm_reopen_driver(device);
 
 	assert_reset_status(fd, fd, 0, RS_NO_ERROR);
 
@@ -588,7 +588,7 @@ static void noop_on_each_ring(int fd, const bool reverse)
 static void test_close_pending_fork(const struct intel_execution_ring *e,
 				    const bool reverse)
 {
-	int fd = gem_reopen_driver(device);
+	int fd = drm_reopen_driver(device);
 	igt_hang_t hang;
 	int pid;
 
@@ -603,7 +603,7 @@ static void test_close_pending_fork(const struct intel_execution_ring *e,
 	 */
 	pid = fork();
 	if (pid == 0) {
-		const int fd2 = gem_reopen_driver(device);
+		const int fd2 = drm_reopen_driver(device);
 		igt_assert_lte(0, fd2);
 
 		/* The crucial component is that we schedule the same noop batch
@@ -630,7 +630,7 @@ static void test_close_pending_fork(const struct intel_execution_ring *e,
 static void test_reset_count(const struct intel_execution_ring *e,
 			     const bool create_ctx)
 {
-	int fd = gem_reopen_driver(device);
+	int fd = drm_reopen_driver(device);
 	int ctx;
 	long c1, c2;
 
@@ -733,7 +733,7 @@ static void test_params_ctx(void)
 {
 	int fd;
 
-	fd = gem_reopen_driver(device);
+	fd = drm_reopen_driver(device);
 	_test_param(fd, gem_context_create(fd));
 	close(fd);
 }
@@ -742,7 +742,7 @@ static void test_params(void)
 {
 	int fd;
 
-	fd = gem_reopen_driver(device);
+	fd = drm_reopen_driver(device);
 	_test_param(fd, 0);
 	close(fd);
 }
@@ -767,7 +767,7 @@ static void defer_hangcheck(const struct intel_execution_ring *engine)
 	int fd, count_start, count_end;
 	int seconds = 30;
 
-	fd = gem_reopen_driver(device);
+	fd = drm_reopen_driver(device);
 
 	next = next_engine(fd, engine);
 	igt_skip_on(next == engine);
diff --git a/tests/i915/gem_ringfill.c b/tests/i915/gem_ringfill.c
index afcd7b73..de6e26bf 100644
--- a/tests/i915/gem_ringfill.c
+++ b/tests/i915/gem_ringfill.c
@@ -219,7 +219,7 @@ static void run_test(int fd, const intel_ctx_t *ctx, unsigned ring,
 		igt_fork(child, nchild) {
 			const intel_ctx_t *child_ctx = NULL;
 			if (flags & NEWFD) {
-				fd = gem_reopen_driver(fd);
+				fd = drm_reopen_driver(fd);
 				child_ctx = intel_ctx_create(fd, &ctx->cfg);
 
 				setup_execbuf(fd, child_ctx, &execbuf, obj, reloc, ring);
diff --git a/tests/i915/gem_softpin.c b/tests/i915/gem_softpin.c
index 8717860b..933daa4a 100644
--- a/tests/i915/gem_softpin.c
+++ b/tests/i915/gem_softpin.c
@@ -1160,7 +1160,7 @@ static void *thread(void *data)
 	uint32_t batch = MI_BATCH_BUFFER_END;
 	int fd, ret, succeeded = 0;
 
-	fd = gem_reopen_driver(t->fd);
+	fd = drm_reopen_driver(t->fd);
 	ctx = intel_ctx_create(fd, &t->ctx->cfg);
 	offset_obj = gem_detect_safe_start_offset(fd);
 	offset_bb = ALIGN(offset_obj + 4096, gem_detect_safe_alignment(fd));
diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
index b00afc32..baba7cf3 100644
--- a/tests/i915/gem_userptr_blits.c
+++ b/tests/i915/gem_userptr_blits.c
@@ -669,7 +669,7 @@ static void test_nohangcheck_hostile(int i915)
 	 * Even if the user disables hangcheck, we must still recover.
 	 */
 
-	i915 = gem_reopen_driver(i915);
+	i915 = drm_reopen_driver(i915);
 	gem_require_contexts(i915);
 
 	dir = igt_params_open(i915);
diff --git a/tests/i915/gem_vm_create.c b/tests/i915/gem_vm_create.c
index f47d8c55..44958cce 100644
--- a/tests/i915/gem_vm_create.c
+++ b/tests/i915/gem_vm_create.c
@@ -306,7 +306,7 @@ static void isolation(int i915)
 	struct drm_i915_gem_context_param arg = {
 		.param = I915_CONTEXT_PARAM_VM,
 	};
-	int other = gem_reopen_driver(i915);
+	int other = drm_reopen_driver(i915);
 	uint32_t ctx[2], vm[2], result;
 	int loops = 4096;
 
diff --git a/tests/i915/gem_watchdog.c b/tests/i915/gem_watchdog.c
index 27f3a2d7..47ccd2ca 100644
--- a/tests/i915/gem_watchdog.c
+++ b/tests/i915/gem_watchdog.c
@@ -564,7 +564,7 @@ igt_main
 					timeout * 1000);
 		default_timeout_wait_s = timeout * 5;
 
-		i915 = gem_reopen_driver(i915); /* Apply modparam. */
+		i915 = drm_reopen_driver(i915); /* Apply modparam. */
 		ctx = intel_ctx_create_all_physical(i915);
 	}
 
diff --git a/tests/i915/gem_workarounds.c b/tests/i915/gem_workarounds.c
index 7d119962..ae544adb 100644
--- a/tests/i915/gem_workarounds.c
+++ b/tests/i915/gem_workarounds.c
@@ -198,7 +198,7 @@ static void check_workarounds(int fd, enum operation op, unsigned int flags)
 	const intel_ctx_t *ctx;
 
 	if (flags & FD)
-		fd = gem_reopen_driver(fd);
+		fd = drm_reopen_driver(fd);
 
 	ctx = intel_ctx_0(fd);
 	if (flags & CONTEXT) {
diff --git a/tests/i915/i915_suspend.c b/tests/i915/i915_suspend.c
index a9507964..5b289ecb 100644
--- a/tests/i915/i915_suspend.c
+++ b/tests/i915/i915_suspend.c
@@ -178,7 +178,7 @@ test_shrink(int fd, unsigned int mode)
 	gem_quiescent_gpu(fd);
 
 	igt_multi_fork(child, 1) {
-		fd = gem_reopen_driver(fd);
+		fd = drm_reopen_driver(fd);
 		igt_purge_vm_caches(fd);
 
 		mem = igt_get_total_pinnable_mem(&size);
diff --git a/tests/i915/perf.c b/tests/i915/perf.c
index 9ca4d34b..cd73b1a9 100644
--- a/tests/i915/perf.c
+++ b/tests/i915/perf.c
@@ -4513,7 +4513,7 @@ gen12_test_single_ctx_render_target_writes_a_counter(const struct intel_executio
 	do {
 		igt_fork_helper(&child) {
 			/* A local device for local resources. */
-			drm_fd = gem_reopen_driver(drm_fd);
+			drm_fd = drm_reopen_driver(drm_fd);
 
 			igt_drop_root();
 			gen12_single_ctx_helper(e);
-- 
2.25.1



More information about the igt-dev mailing list