public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH] lib/i915: gem_engine_topology: get eb flags from engine's coordiantes
@ 2019-06-19 22:19 Andi Shyti
  2019-06-19 23:33 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Andi Shyti @ 2019-06-19 22:19 UTC (permalink / raw)
  To: IGT dev; +Cc: Andi Shyti

The execution buffer flag value has now the engine index as it is
mapped in the context. Retrieve its mapped index from the
class/instance coordinate.

Return -EINVAL if the engine is not mapped in the given context.

Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Andi Shyti <andi.shyti@intel.com>
Cc: Ramalingam C <ramalingam.c@intel.com>
---
 lib/i915/gem_engine_topology.c | 12 ++++++++++++
 lib/i915/gem_engine_topology.h |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/lib/i915/gem_engine_topology.c b/lib/i915/gem_engine_topology.c
index fdd1b951672b..23208102021f 100644
--- a/lib/i915/gem_engine_topology.c
+++ b/lib/i915/gem_engine_topology.c
@@ -270,6 +270,18 @@ int gem_context_lookup_engine(int fd, uint64_t engine, uint32_t ctx_id,
 	return 0;
 }
 
+int64_t gem_context_get_eb_flags(int fd, uint32_t ctx_id,
+				 int class, int instance)
+{
+	struct intel_execution_engine2 *e;
+
+	for_each_context_engine(fd, ctx_id, e)
+		if (class == e->class && instance == e->instance)
+			return e->flags;
+
+	return -EINVAL;
+}
+
 void gem_context_set_all_engines(int fd, uint32_t ctx)
 {
 	DEFINE_CONTEXT_ENGINES_PARAM(engines, param, ctx, GEM_MAX_ENGINES);
diff --git a/lib/i915/gem_engine_topology.h b/lib/i915/gem_engine_topology.h
index 2415fd1e379b..f575b8968476 100644
--- a/lib/i915/gem_engine_topology.h
+++ b/lib/i915/gem_engine_topology.h
@@ -53,6 +53,9 @@ int gem_context_lookup_engine(int fd, uint64_t engine, uint32_t ctx_id,
 
 void gem_context_set_all_engines(int fd, uint32_t ctx);
 
+int64_t gem_context_get_eb_flags(int fd, uint32_t ctx_id,
+				  int class, int instance);
+
 #define __for_each_static_engine(e__) \
 	for ((e__) = intel_execution_engines2; (e__)->name; (e__)++)
 
-- 
2.20.1

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-06-20 14:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-19 22:19 [igt-dev] [PATCH] lib/i915: gem_engine_topology: get eb flags from engine's coordiantes Andi Shyti
2019-06-19 23:33 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-06-20  5:59 ` [igt-dev] [PATCH] " Tvrtko Ursulin
2019-06-20  7:52   ` Andi Shyti
2019-06-20  8:12     ` Tvrtko Ursulin
2019-06-20  8:26       ` Chris Wilson
2019-06-20 14:38 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox