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

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Thu May 11 05:50:37 UTC 2023


On Wed, May 10, 2023 at 01:50:13PM +0200, Kamil Konieczny wrote:
> Hi,
> 
> On 2023-05-10 at 10:44:51 +0200, Anna Karas wrote:
> > 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
> > 
> > Reference: VLK-46235
> > Signed-off-by: Anna Karas <anna.karas at intel.com>
> > Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski at 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..fb058441 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);

This identation looks incorrect.

--
Zbigniew

> > +
> > +	return fd;
> > +}
> > +
> 
> LGTM,
> Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> 
> >  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