[igt-dev] [PATCH i-g-t] lib/dummyload: Cleanup access to spin obj array

Chris Wilson chris at chris-wilson.co.uk
Wed May 22 09:38:04 UTC 2019


Quoting Mika Kuoppala (2019-05-22 10:34:02)
> Instead of relying a static obj array inside igt_spin_t,
> access it with proper indexing.
> 
> v2: IGT_SPIN_BATCH
> 
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
>  lib/igt_dummyload.c            | 13 ++++++-------
>  lib/igt_dummyload.h            |  1 +
>  tests/i915/gem_exec_schedule.c | 25 +++++++++++++++----------
>  tests/i915/gem_softpin.c       |  2 +-
>  tests/i915/gem_spin_batch.c    |  4 ++--
>  tests/i915/i915_hangman.c      |  2 +-
>  6 files changed, 26 insertions(+), 21 deletions(-)
> 
> diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
> index 15d64fad..e6e366cb 100644
> --- a/lib/igt_dummyload.c
> +++ b/lib/igt_dummyload.c
> @@ -72,7 +72,7 @@ emit_recursive_batch(igt_spin_t *spin,
>                      int fd, const struct igt_spin_factory *opts)
>  {
>  #define SCRATCH 0
> -#define BATCH 1
> +#define BATCH IGT_SPIN_BATCH
>         const int gen = intel_gen(intel_get_drm_devid(fd));
>         struct drm_i915_gem_relocation_entry relocs[2], *r;
>         struct drm_i915_gem_execbuffer2 *execbuf;
> @@ -261,12 +261,11 @@ emit_recursive_batch(igt_spin_t *spin,
>         igt_assert_lt(cs - batch, BATCH_SIZE / sizeof(*cs));
>  
>         /* Make it easier for callers to resubmit. */
> -
> -       obj[BATCH].relocation_count = 0;
> -       obj[BATCH].relocs_ptr = 0;
> -
> -       obj[SCRATCH].flags = EXEC_OBJECT_PINNED;
> -       obj[BATCH].flags = EXEC_OBJECT_PINNED;
> +       for (i = 0; i < ARRAY_SIZE(spin->obj); i++) {
> +               spin->obj[i].relocation_count = 0;
> +               spin->obj[i].relocs_ptr = 0;
> +               spin->obj[i].flags = EXEC_OBJECT_PINNED;
> +       }
>  
>         spin->cmd_precondition = *spin->condition;
>  
> diff --git a/lib/igt_dummyload.h b/lib/igt_dummyload.h
> index 61a9f2fc..bb361842 100644
> --- a/lib/igt_dummyload.h
> +++ b/lib/igt_dummyload.h
> @@ -42,6 +42,7 @@ typedef struct igt_spin {
>  
>         int out_fence;
>         struct drm_i915_gem_exec_object2 obj[2];
> +#define IGT_SPIN_BATCH   1
>         struct drm_i915_gem_execbuffer2 execbuf;
>         uint32_t poll_handle;
>         uint32_t *poll;
> diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
> index c0438513..ed02d529 100644
> --- a/tests/i915/gem_exec_schedule.c
> +++ b/tests/i915/gem_exec_schedule.c
> @@ -234,7 +234,8 @@ static void independent(int fd, unsigned int engine)
>                 } else {
>                         struct drm_i915_gem_execbuffer2 eb = {
>                                 .buffer_count = 1,
> -                               .buffers_ptr = to_user_pointer(&spin->obj[1]),
> +                               .buffers_ptr =
> +                               to_user_pointer(&spin->obj[IGT_SPIN_BATCH]),

That should have an extra level of indent, at which point realise the
attempt to avoid the 80col is moot and just keep it on one long line.

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the igt-dev mailing list