[igt-dev] [PATCH i-g-t] i915/gem_ctx_exec: Update the list of engines on the actual context

Chris Wilson chris at chris-wilson.co.uk
Wed Feb 5 11:59:15 UTC 2020


We want to iterate the set of physical engines on this context, so
update the iterators to act on a particular context.

This tunnel keeps on getting longer.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
---
 lib/i915/gem_engine_topology.h | 7 +++++--
 tests/i915/gem_ctx_exec.c      | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/i915/gem_engine_topology.h b/lib/i915/gem_engine_topology.h
index e40d7ec83..027d86be2 100644
--- a/lib/i915/gem_engine_topology.h
+++ b/lib/i915/gem_engine_topology.h
@@ -67,9 +67,12 @@ struct intel_execution_engine2 gem_eb_flags_to_engine(unsigned int flags);
 	     intel_next_engine(&i__))
 
 /* needs to replace "for_each_physical_engine" when conflicts are fixed */
-#define __for_each_physical_engine(fd__, e__) \
-	for (struct intel_engine_data i__ = intel_init_engine_list(fd__, 0); \
+#define ____for_each_physical_engine(fd__, ctx__, e__) \
+	for (struct intel_engine_data i__ = intel_init_engine_list(fd__, ctx__); \
 	     ((e__) = intel_get_current_physical_engine(&i__)); \
 	     intel_next_engine(&i__))
 
+#define __for_each_physical_engine(fd__, e__) \
+	____for_each_physical_engine(fd__, 0, e__)
+
 #endif /* GEM_ENGINE_TOPOLOGY_H */
diff --git a/tests/i915/gem_ctx_exec.c b/tests/i915/gem_ctx_exec.c
index aeb8d2976..5b4e4b3db 100644
--- a/tests/i915/gem_ctx_exec.c
+++ b/tests/i915/gem_ctx_exec.c
@@ -226,7 +226,7 @@ static void nohangcheck_hostile(int i915)
 
 	igt_require(__enable_hangcheck(dir, false));
 
-	__for_each_physical_engine(i915, e) {
+	____for_each_physical_engine(i915, ctx, e) {
 		igt_spin_t *spin;
 
 		spin = igt_spin_new(i915, ctx,
-- 
2.25.0



More information about the igt-dev mailing list