summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-02-05 11:57:47 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2020-02-05 20:45:03 +0000
commit6e9c232ac052b9634f91573449d7ac4a7da1083a (patch)
treedf3b4da9031e8bfa60cd83d1fae7d2f06484a501
parent44913a91e77434b03001bb9ea53216cd03c476e6 (diff)
i915/gem_ctx_exec: Update the list of engines on the actual context
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@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-rw-r--r--lib/i915/gem_engine_topology.h7
-rw-r--r--tests/i915/gem_ctx_exec.c2
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/i915/gem_engine_topology.h b/lib/i915/gem_engine_topology.h
index e40d7ec8..027d86be 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 aeb8d297..5b4e4b3d 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,