All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Shyti <andi.shyti@intel.com>
To: IGT dev <igt-dev@lists.freedesktop.org>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>, Andi Shyti <andi@etezian.org>
Subject: [igt-dev] [PATCH v24 05/14] lib: igt_dummyload: use for_each_context_engine()
Date: Mon, 13 May 2019 20:56:04 +0300	[thread overview]
Message-ID: <20190513175613.2507-6-andi.shyti@intel.com> (raw)
In-Reply-To: <20190513175613.2507-1-andi.shyti@intel.com>

With the new getparam/setparam api, engines are mapped to
context. Use for_each_context_engine() to loop through existing
engines.

Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Andi Shyti <andi.shyti@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 lib/igt_dummyload.c | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
index 15d64fadc115..1e11ccd3de33 100644
--- a/lib/igt_dummyload.c
+++ b/lib/igt_dummyload.c
@@ -39,6 +39,7 @@
 #include "ioctl_wrappers.h"
 #include "sw_sync.h"
 #include "igt_vgem.h"
+#include "i915/gem_engine_topology.h"
 #include "i915/gem_mman.h"
 
 /**
@@ -77,7 +78,7 @@ emit_recursive_batch(igt_spin_t *spin,
 	struct drm_i915_gem_relocation_entry relocs[2], *r;
 	struct drm_i915_gem_execbuffer2 *execbuf;
 	struct drm_i915_gem_exec_object2 *obj;
-	unsigned int engines[16];
+	unsigned int flags[GEM_MAX_ENGINES];
 	unsigned int nengine;
 	int fence_fd = -1;
 	uint32_t *cs, *batch;
@@ -85,17 +86,17 @@ emit_recursive_batch(igt_spin_t *spin,
 
 	nengine = 0;
 	if (opts->engine == ALL_ENGINES) {
-		unsigned int engine;
+		struct intel_execution_engine2 *engine;
 
-		for_each_physical_engine(fd, engine) {
+		for_each_context_engine(fd, opts->ctx, engine) {
 			if (opts->flags & IGT_SPIN_POLL_RUN &&
-			    !gem_can_store_dword(fd, engine))
+			    !gem_class_can_store_dword(fd, engine->class))
 				continue;
 
-			engines[nengine++] = engine;
+			flags[nengine++] = engine->flags;
 		}
 	} else {
-		engines[nengine++] = opts->engine;
+		flags[nengine++] = opts->engine;
 	}
 	igt_require(nengine);
 
@@ -237,7 +238,7 @@ emit_recursive_batch(igt_spin_t *spin,
 
 	for (i = 0; i < nengine; i++) {
 		execbuf->flags &= ~ENGINE_MASK;
-		execbuf->flags |= engines[i];
+		execbuf->flags |= flags[i];
 
 		gem_execbuf_wr(fd, execbuf);
 
@@ -316,9 +317,19 @@ igt_spin_factory(int fd, const struct igt_spin_factory *opts)
 	igt_require_gem(fd);
 
 	if (opts->engine != ALL_ENGINES) {
-		gem_require_ring(fd, opts->engine);
+		struct intel_execution_engine2 e;
+		int class;
+
+		if (!gem_context_lookup_engine(fd, opts->engine,
+					       opts->ctx, &e)) {
+			class = e.class;
+		} else {
+			gem_require_ring(fd, opts->engine);
+			class = gem_execbuf_flags_to_engine_class(opts->engine);
+		}
+
 		if (opts->flags & IGT_SPIN_POLL_RUN)
-			igt_require(gem_can_store_dword(fd, opts->engine));
+			igt_require(gem_class_can_store_dword(fd, class));
 	}
 
 	spin = spin_create(fd, opts);
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  parent reply	other threads:[~2019-05-13 17:56 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-13 17:55 [igt-dev] [PATCH v24 00/14] new engine discovery interface Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 01/14] include/drm-uapi: import i915_drm.h header file Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 02/14] lib/i915: add gem_engine_topology library and for_each loop definition Andi Shyti
2019-05-22 11:16   ` Tvrtko Ursulin
2019-05-22 11:39     ` Andi Shyti
2019-05-22 11:41       ` Tvrtko Ursulin
2019-05-22 13:38     ` [igt-dev] [PATCH v25 " Andi Shyti
2019-05-22 13:45       ` Tvrtko Ursulin
2019-05-13 17:56 ` [igt-dev] [PATCH v24 03/14] lib: igt_gt: add execution buffer flags to class helper Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 04/14] lib: igt_gt: make gem_engine_can_store_dword() check engine class Andi Shyti
2019-05-14  9:07   ` Chris Wilson
2019-05-14  9:25     ` Andi Shyti
2019-05-13 17:56 ` Andi Shyti [this message]
2019-05-13 17:56 ` [igt-dev] [PATCH v24 06/14] test: perf_pmu: use the gem_engine_topology library Andi Shyti
2019-05-14  8:55   ` Tvrtko Ursulin
2019-05-14  9:29     ` Andi Shyti
2019-05-15 12:08   ` [igt-dev] [PATCH v25 6/14] " Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 07/14] test/i915: gem_busy: " Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 08/14] test/i915: gem_cs_tlb: " Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 09/14] test/i915: gem_ctx_exec: " Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 10/14] test/i915: gem_exec_basic: " Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 11/14] test/i915: gem_exec_parallel: " Andi Shyti
2019-05-14  9:12   ` Chris Wilson
2019-05-13 17:56 ` [igt-dev] [PATCH v24 12/14] test/i915: gem_exec_store: " Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 13/14] test/i915: gem_wait: " Andi Shyti
2019-05-13 17:56 ` [igt-dev] [PATCH v24 14/14] test/i915: i915_hangman: " Andi Shyti
2019-05-14  9:13   ` Chris Wilson
2019-05-14  9:26     ` Andi Shyti
2019-05-13 18:26 ` [igt-dev] ✓ Fi.CI.BAT: success for new engine discovery interface Patchwork
2019-05-13 23:12 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-05-15 12:35 ` [igt-dev] ✗ Fi.CI.BAT: failure for new engine discovery interface (rev2) Patchwork
2019-05-22 14:36 ` [igt-dev] ✓ Fi.CI.BAT: success for new engine discovery interface (rev3) Patchwork
2019-05-23 10:37 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190513175613.2507-6-andi.shyti@intel.com \
    --to=andi.shyti@intel.com \
    --cc=andi@etezian.org \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=tvrtko.ursulin@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.