summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Argenziano <antonio.argenziano@intel.com>2018-02-22 16:54:38 -0800
committerChris Wilson <chris@chris-wilson.co.uk>2018-02-23 09:22:06 +0000
commit1fb30f1131d2a31d0752a73929ca247708d471e4 (patch)
tree006d6a1786ae718ecbe5f76282296d5510580391
parent998e1da7e830bad248497dccf23d7309e63e1207 (diff)
igt: Use lib gem_execbuf where possible
Replace custom execbuf ioctl wrapper with the ones in lib. v2: - Lib execbuf wrapper is not signal handling friendly. (Chris) v3: - EXECBUFFER2_WR != EXECBUFFER2. (Chris) v4: Drop gem_exec_fence.c changes Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--tests/gem_close_race.c3
-rw-r--r--tests/gem_ctx_exec.c15
-rw-r--r--tests/gem_evict_alignment.c7
-rw-r--r--tests/gem_exec_bad_domains.c6
-rw-r--r--tests/gem_exec_blt.c4
-rw-r--r--tests/gem_exec_lut_handle.c2
-rw-r--r--tests/gem_exec_params.c9
-rw-r--r--tests/gem_gtt_hog.c2
-rw-r--r--tests/gem_lut_handle.c13
-rw-r--r--tests/gem_pwrite_pread.c12
-rw-r--r--tests/gen3_mixed_blits.c16
-rw-r--r--tests/gen3_render_linear_blits.c8
-rw-r--r--tests/gen3_render_mixed_blits.c8
-rw-r--r--tests/gen3_render_tiledx_blits.c8
-rw-r--r--tests/gen3_render_tiledy_blits.c8
-rw-r--r--tests/pm_rpm.c6
16 files changed, 32 insertions, 95 deletions
diff --git a/tests/gem_close_race.c b/tests/gem_close_race.c
index d9a45387..bc1127b1 100644
--- a/tests/gem_close_race.c
+++ b/tests/gem_close_race.c
@@ -119,8 +119,7 @@ static void selfcopy(int fd, uint32_t handle, int loops)
gem_pwrite.size = sizeof(buf);
gem_pwrite.data_ptr = to_user_pointer(buf);
if (drmIoctl(fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite) == 0) {
- while (loops-- &&
- drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf) == 0)
+ while (loops-- && __gem_execbuf(fd, &execbuf) == 0)
;
}
diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
index fa864a21..1f8ed64d 100644
--- a/tests/gem_ctx_exec.c
+++ b/tests/gem_ctx_exec.c
@@ -52,7 +52,6 @@ static int exec(int fd, uint32_t handle, int ring, int ctx_id)
{
struct drm_i915_gem_execbuffer2 execbuf;
struct drm_i915_gem_exec_object2 gem_exec;
- int ret = 0;
gem_exec.handle = handle;
gem_exec.relocation_count = 0;
@@ -75,10 +74,7 @@ static int exec(int fd, uint32_t handle, int ring, int ctx_id)
i915_execbuffer2_set_context_id(execbuf, ctx_id);
execbuf.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2,
- &execbuf);
-
- return ret;
+ return __gem_execbuf(fd, &execbuf);
}
static void big_exec(int fd, uint32_t handle, int ring)
@@ -116,7 +112,7 @@ static void big_exec(int fd, uint32_t handle, int ring)
execbuf.buffer_count = 1;
i915_execbuffer2_set_context_id(execbuf, ctx_id1);
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
for (i = 0; i < num_buffers; i++) {
uint32_t tmp_handle = gem_create(fd, 4096);
@@ -127,8 +123,7 @@ static void big_exec(int fd, uint32_t handle, int ring)
execbuf.buffer_count = i + 1;
/* figure out how many buffers we can exactly fit */
- while (drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2,
- &execbuf) != 0) {
+ while (__gem_execbuf(fd, &execbuf) != 0) {
i--;
gem_close(fd, gem_exec[i].handle);
gem_exec[i].handle = handle;
@@ -140,10 +135,10 @@ static void big_exec(int fd, uint32_t handle, int ring)
i - 1, num_buffers);
/* double check that it works */
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
i915_execbuffer2_set_context_id(execbuf, ctx_id2);
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
gem_sync(fd, handle);
}
diff --git a/tests/gem_evict_alignment.c b/tests/gem_evict_alignment.c
index 239be728..140d5583 100644
--- a/tests/gem_evict_alignment.c
+++ b/tests/gem_evict_alignment.c
@@ -61,7 +61,7 @@ copy(int fd, uint32_t dst, uint32_t src, uint32_t *all_bo,
struct drm_i915_gem_exec_object2 *obj;
struct drm_i915_gem_execbuffer2 exec;
uint32_t handle;
- int n, ret, i=0;
+ int n, i=0;
batch[i++] = (XY_SRC_COPY_BLT_CMD |
XY_SRC_COPY_BLT_WRITE_ALPHA |
@@ -121,10 +121,7 @@ copy(int fd, uint32_t dst, uint32_t src, uint32_t *all_bo,
i915_execbuffer2_set_context_id(exec, 0);
exec.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- if (ret)
- ret = errno;
- igt_assert_eq(ret, error);
+ igt_assert_eq(__gem_execbuf(fd, &exec), -error);
gem_close(fd, handle);
free(obj);
diff --git a/tests/gem_exec_bad_domains.c b/tests/gem_exec_bad_domains.c
index 9a7487e3..cd2c8956 100644
--- a/tests/gem_exec_bad_domains.c
+++ b/tests/gem_exec_bad_domains.c
@@ -95,7 +95,6 @@ static void multi_write_domain(int fd)
struct drm_i915_gem_exec_object2 exec[2];
struct drm_i915_gem_relocation_entry reloc[1];
uint32_t handle, handle_target;
- int ret;
handle = gem_create(fd, 4096);
handle_target = gem_create(fd, 4096);
@@ -137,10 +136,7 @@ static void multi_write_domain(int fd)
i915_execbuffer2_set_context_id(execbuf, 0);
execbuf.rsvd2 = 0;
- ret = drmIoctl(fd,
- DRM_IOCTL_I915_GEM_EXECBUFFER2,
- &execbuf);
- igt_assert(ret != 0 && errno == EINVAL);
+ igt_assert_eq(__gem_execbuf(fd, &execbuf), -EINVAL);
gem_close(fd, handle);
gem_close(fd, handle_target);
diff --git a/tests/gem_exec_blt.c b/tests/gem_exec_blt.c
index 8c0453f6..8d61dc87 100644
--- a/tests/gem_exec_blt.c
+++ b/tests/gem_exec_blt.c
@@ -228,12 +228,12 @@ static void run(int object_size, bool dumb)
execbuf.flags |= LOCAL_I915_EXEC_HANDLE_LUT;
execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC;
- if (drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf)) {
+ if (__gem_execbuf(fd, &execbuf)) {
len = gem_linear_blt(fd, buf, src, dst, object_size, reloc);
igt_assert(len == execbuf.batch_len);
gem_write(fd, handle, 0, buf, len);
execbuf.flags = ring;
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
}
gem_sync(fd, handle);
diff --git a/tests/gem_exec_lut_handle.c b/tests/gem_exec_lut_handle.c
index 9793133c..98e6ae5a 100644
--- a/tests/gem_exec_lut_handle.c
+++ b/tests/gem_exec_lut_handle.c
@@ -77,7 +77,7 @@ static int has_exec_lut(int fd)
execbuf.buffer_count = 1;
execbuf.flags = LOCAL_I915_EXEC_HANDLE_LUT;
- return drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf) == 0;
+ return __gem_execbuf(fd, &execbuf) == 0;
}
#define ELAPSED(a,b) (1e6*((b)->tv_sec - (a)->tv_sec) + ((b)->tv_usec - (a)->tv_usec))
diff --git a/tests/gem_exec_params.c b/tests/gem_exec_params.c
index c3dc0ac2..04c21c05 100644
--- a/tests/gem_exec_params.c
+++ b/tests/gem_exec_params.c
@@ -233,10 +233,7 @@ igt_main
}
#define RUN_FAIL(expected_errno) do { \
- igt_assert(drmIoctl(fd, \
- DRM_IOCTL_I915_GEM_EXECBUFFER2, \
- &execbuf) == -1); \
- igt_assert_eq(errno, expected_errno); \
+ igt_assert_eq(__gem_execbuf(fd, &execbuf), -expected_errno); \
} while(0)
igt_subtest("no-bsd") {
@@ -350,9 +347,7 @@ igt_main
RUN_FAIL(EPERM);
igt_device_set_master(fd);
- igt_assert(drmIoctl(fd,
- DRM_IOCTL_I915_GEM_EXECBUFFER2,
- &execbuf) == 0);
+ gem_execbuf(fd, &execbuf);
igt_device_drop_master(fd); /* Only needs temporary master */
}
diff --git a/tests/gem_gtt_hog.c b/tests/gem_gtt_hog.c
index a3dbfad4..ca730649 100644
--- a/tests/gem_gtt_hog.c
+++ b/tests/gem_gtt_hog.c
@@ -113,7 +113,7 @@ static void busy(data_t *data, uint32_t handle, int size, int loops)
gem_pwrite.data_ptr = to_user_pointer(buf);
if (drmIoctl(data->fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite) == 0) {
while (loops--)
- drmIoctl(data->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(data->fd, &execbuf);
}
drmIoctl(data->fd, DRM_IOCTL_GEM_CLOSE, &create.handle);
diff --git a/tests/gem_lut_handle.c b/tests/gem_lut_handle.c
index 10516b4f..fec65dd8 100644
--- a/tests/gem_lut_handle.c
+++ b/tests/gem_lut_handle.c
@@ -84,12 +84,7 @@ static int exec(int fd, uint32_t handle, unsigned int flags)
i915_execbuffer2_set_context_id(execbuf, 0);
execbuf.rsvd2 = 0;
- if (drmIoctl(fd,
- DRM_IOCTL_I915_GEM_EXECBUFFER2,
- &execbuf))
- return -errno;
-
- return 0;
+ return __gem_execbuf(fd, &execbuf);
}
static int many_exec(int fd, uint32_t batch, int num_exec, int num_reloc, unsigned flags)
@@ -156,11 +151,7 @@ static int many_exec(int fd, uint32_t batch, int num_exec, int num_reloc, unsign
i915_execbuffer2_set_context_id(execbuf, 0);
execbuf.rsvd2 = 0;
- ret = drmIoctl(fd,
- DRM_IOCTL_I915_GEM_EXECBUFFER2,
- &execbuf);
- if (ret < 0)
- ret = -errno;
+ ret = __gem_execbuf(fd, &execbuf);
for (n = 0; n < num_exec; n++)
gem_close(fd, gem_exec[n].handle);
diff --git a/tests/gem_pwrite_pread.c b/tests/gem_pwrite_pread.c
index e1543f22..383a57f7 100644
--- a/tests/gem_pwrite_pread.c
+++ b/tests/gem_pwrite_pread.c
@@ -100,7 +100,7 @@ static void copy(int fd, uint32_t src, uint32_t dst, void *buf, int len, int loo
while (loops--) {
gem_write(fd, src, 0, buf, len);
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
gem_read(fd, dst, 0, buf, len);
}
@@ -120,7 +120,7 @@ static void as_gtt_mmap(int fd, uint32_t src, uint32_t dst, void *buf, int len,
I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
memcpy(src_ptr, buf, len);
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
gem_set_domain(fd, dst,
I915_GEM_DOMAIN_GTT, 0);
memcpy(buf, dst_ptr, len);
@@ -145,7 +145,7 @@ static void as_cpu_mmap(int fd, uint32_t src, uint32_t dst, void *buf, int len,
I915_GEM_DOMAIN_CPU, I915_GEM_DOMAIN_CPU);
memcpy(src_ptr, buf, len);
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
gem_set_domain(fd, dst,
I915_GEM_DOMAIN_CPU, 0);
memcpy(buf, dst_ptr, len);
@@ -167,7 +167,7 @@ static void test_copy(int fd, uint32_t src, uint32_t dst, uint32_t *buf, int len
gem_write(fd, src, 0, buf, len);
memset(buf, 0, len);
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
gem_read(fd, dst, 0, buf, len);
gem_close(fd, exec[2].handle);
@@ -189,7 +189,7 @@ static void test_as_gtt_mmap(int fd, uint32_t src, uint32_t dst, int len)
for (i = 0; i < len/4; i++)
src_ptr[i] = i;
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
gem_close(fd, exec[2].handle);
gem_set_domain(fd, dst, I915_GEM_DOMAIN_GTT, 0);
@@ -213,7 +213,7 @@ static void test_as_cpu_mmap(int fd, uint32_t src, uint32_t dst, int len)
for (i = 0; i < len/4; i++)
src_ptr[i] = i;
- do_ioctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(fd, &execbuf);
gem_close(fd, exec[2].handle);
gem_set_domain(fd, dst, I915_GEM_DOMAIN_CPU, 0);
diff --git a/tests/gen3_mixed_blits.c b/tests/gen3_mixed_blits.c
index 1159b4eb..fa64598a 100644
--- a/tests/gen3_mixed_blits.c
+++ b/tests/gen3_mixed_blits.c
@@ -88,7 +88,6 @@ render_copy(int fd,
struct drm_i915_gem_execbuffer2 exec;
uint32_t handle;
uint32_t tiling_bits;
- int ret;
/* invariant state */
*b++ = (_3DSTATE_AA_CMD |
@@ -310,12 +309,7 @@ render_copy(int fd,
i915_execbuffer2_set_context_id(exec, 0);
exec.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- while (ret && errno == EBUSY) {
- drmCommandNone(fd, DRM_I915_GEM_THROTTLE);
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- }
- igt_assert_eq(ret, 0);
+ gem_execbuf(fd, &exec);
gem_close(fd, handle);
}
@@ -327,7 +321,6 @@ static void blt_copy(int fd, uint32_t dst, uint32_t src)
struct drm_i915_gem_exec_object2 obj[3];
struct drm_i915_gem_execbuffer2 exec;
uint32_t handle;
- int ret;
*b++ = (XY_SRC_COPY_BLT_CMD |
XY_SRC_COPY_BLT_WRITE_ALPHA |
@@ -388,12 +381,7 @@ static void blt_copy(int fd, uint32_t dst, uint32_t src)
i915_execbuffer2_set_context_id(exec, 0);
exec.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- while (ret && errno == EBUSY) {
- drmCommandNone(fd, DRM_I915_GEM_THROTTLE);
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- }
- igt_assert_eq(ret, 0);
+ gem_execbuf(fd, &exec);
gem_close(fd, handle);
}
diff --git a/tests/gen3_render_linear_blits.c b/tests/gen3_render_linear_blits.c
index e56bff93..a03d7fc0 100644
--- a/tests/gen3_render_linear_blits.c
+++ b/tests/gen3_render_linear_blits.c
@@ -85,7 +85,6 @@ copy(int fd, uint32_t dst, uint32_t src)
struct drm_i915_gem_exec_object2 obj[3];
struct drm_i915_gem_execbuffer2 exec;
uint32_t handle;
- int ret;
/* invariant state */
*b++ = (_3DSTATE_AA_CMD |
@@ -280,12 +279,7 @@ copy(int fd, uint32_t dst, uint32_t src)
i915_execbuffer2_set_context_id(exec, 0);
exec.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- while (ret && errno == EBUSY) {
- drmCommandNone(fd, DRM_I915_GEM_THROTTLE);
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- }
- igt_assert_eq(ret, 0);
+ gem_execbuf(fd, &exec);
gem_close(fd, handle);
}
diff --git a/tests/gen3_render_mixed_blits.c b/tests/gen3_render_mixed_blits.c
index 6cc8d056..2f127d99 100644
--- a/tests/gen3_render_mixed_blits.c
+++ b/tests/gen3_render_mixed_blits.c
@@ -87,7 +87,6 @@ copy(int fd,
struct drm_i915_gem_execbuffer2 exec;
uint32_t handle;
uint32_t tiling_bits;
- int ret;
/* invariant state */
*b++ = (_3DSTATE_AA_CMD |
@@ -293,12 +292,7 @@ copy(int fd,
i915_execbuffer2_set_context_id(exec, 0);
exec.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- while (ret && errno == EBUSY) {
- drmCommandNone(fd, DRM_I915_GEM_THROTTLE);
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- }
- igt_assert_eq(ret, 0);
+ gem_execbuf(fd, &exec);
gem_close(fd, handle);
}
diff --git a/tests/gen3_render_tiledx_blits.c b/tests/gen3_render_tiledx_blits.c
index 6706d3a3..06cdda38 100644
--- a/tests/gen3_render_tiledx_blits.c
+++ b/tests/gen3_render_tiledx_blits.c
@@ -84,7 +84,6 @@ copy(int fd, uint32_t dst, uint32_t src)
struct drm_i915_gem_exec_object2 obj[3];
struct drm_i915_gem_execbuffer2 exec;
uint32_t handle;
- int ret;
/* invariant state */
*b++ = (_3DSTATE_AA_CMD |
@@ -280,12 +279,7 @@ copy(int fd, uint32_t dst, uint32_t src)
i915_execbuffer2_set_context_id(exec, 0);
exec.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- while (ret && errno == EBUSY) {
- drmCommandNone(fd, DRM_I915_GEM_THROTTLE);
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- }
- igt_assert_eq(ret, 0);
+ gem_execbuf(fd, &exec);
gem_close(fd, handle);
}
diff --git a/tests/gen3_render_tiledy_blits.c b/tests/gen3_render_tiledy_blits.c
index 44e88d4d..9e4f4b77 100644
--- a/tests/gen3_render_tiledy_blits.c
+++ b/tests/gen3_render_tiledy_blits.c
@@ -84,7 +84,6 @@ copy(int fd, uint32_t dst, uint32_t src)
struct drm_i915_gem_exec_object2 obj[3];
struct drm_i915_gem_execbuffer2 exec;
uint32_t handle;
- int ret;
/* invariant state */
*b++ = (_3DSTATE_AA_CMD |
@@ -280,12 +279,7 @@ copy(int fd, uint32_t dst, uint32_t src)
i915_execbuffer2_set_context_id(exec, 0);
exec.rsvd2 = 0;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- while (ret && errno == EBUSY) {
- drmCommandNone(fd, DRM_I915_GEM_THROTTLE);
- ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
- }
- igt_assert_eq(ret, 0);
+ gem_execbuf(fd, &exec);
gem_close(fd, handle);
}
diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index d2a6705e..04be8c54 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -1116,7 +1116,7 @@ static void submit_blt_cmd(uint32_t dst_handle, uint16_t x, uint16_t y,
execbuf.flags = I915_EXEC_BLT;
i915_execbuffer2_set_context_id(execbuf, 0);
- do_ioctl(drm_fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(drm_fd, &execbuf);
*presumed_dst_offset = relocs[0].presumed_offset;
@@ -1257,7 +1257,7 @@ static void gem_execbuf_stress_subtest(int rounds, int wait_flags)
i915_execbuffer2_set_context_id(execbuf, 0);
for (i = 0; i < rounds; i++) {
- do_ioctl(drm_fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(drm_fd, &execbuf);
if (wait_flags & WAIT_STATUS)
igt_assert(wait_for_suspended());
@@ -1387,7 +1387,7 @@ static void system_suspend_execbuf_subtest(void)
igt_assert(wait_for_suspended());
for (i = 0; i < 20; i++) {
- do_ioctl(drm_fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ gem_execbuf(drm_fd, &execbuf);
igt_assert(wait_for_suspended());
}