[igt-dev] [PATCH i-g-t v2 10/10] igt: Use lib gem_execbuf where possible

Chris Wilson chris at chris-wilson.co.uk
Sat Feb 10 09:34:45 UTC 2018


Quoting Antonio Argenziano (2018-02-09 23:39:05)
> Replace custom execbuf ioctl wrapper with the ones in lib.
> 
> v2:
>         - Lib execbuf wrapper is not signal handling friendly. (Chris)
> 
> Signed-off-by: Antonio Argenziano <antonio.argenziano at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Petri Latvala <petri.latvala at intel.com>
> ---
> @@ -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_execbuf returns -errno.

> diff --git a/tests/gem_exec_params.c b/tests/gem_exec_params.c
> index c3dc0ac2..5909bc93 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(errno, __gem_execbuf(fd, &execbuf)); \

igt_assert_eq(__gem_execbuf(), -expected_errno)

>  static int many_exec(int fd, uint32_t batch, int num_exec, int num_reloc, unsigned flags)
> @@ -156,9 +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);
> +       ret = __gem_execbuf(fd, &execbuf);
>         if (ret < 0)
>                 ret = -errno;

No need for if() here, ret is already -errno.

> diff --git a/tests/gen3_mixed_blits.c b/tests/gen3_mixed_blits.c
> index 1159b4eb..147b7b87 100644
> --- a/tests/gen3_mixed_blits.c
> +++ b/tests/gen3_mixed_blits.c
> @@ -310,10 +310,10 @@ 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) {
> +       ret = __gem_execbuf(fd, &exec);
> +       while (ret == EBUSY) {

-EBUSY.

This is old, the kernel hasn't returned -EBUSY for close to 10 years.
gem_execbuf().
-Chris


More information about the igt-dev mailing list