[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