diff options
author | Jason Ekstrand <jason@jlekstrand.net> | 2021-04-15 14:06:27 -0500 |
---|---|---|
committer | Jason Ekstrand <jason@jlekstrand.net> | 2021-07-08 12:45:33 -0500 |
commit | 3eae7848c89161d1cc66c88c90bc558e56df691b (patch) | |
tree | 5024130f0872641896a5027a36810bd8f79267f2 /tests | |
parent | d1cff0549a825d8bfe9b42ce3108dfb246528b3e (diff) |
lib/i915: Rework engine API availability checks (v4)
Instead of relying on the context param, check for the device query or
attempt to set engines as a create param.
v2 (Jason Ekstrand):
- Add a common gem_has_context_engines helper
v3 (Jason Ekstrand):
- Drop gem_has_context_engines and always check I915_QUERY_ENGINE_INFO
v4 (Ashutosh Dixit):
- Add a comment to the gem_has_engine_topology docs saying that it can
be used to query either feature.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/i915/gem_ctx_engines.c | 11 | ||||
-rw-r--r-- | tests/i915/gem_exec_balancer.c | 11 | ||||
-rw-r--r-- | tests/i915/gem_exec_schedule.c | 11 |
3 files changed, 3 insertions, 30 deletions
diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c index caa97774..bd622b0e 100644 --- a/tests/i915/gem_ctx_engines.c +++ b/tests/i915/gem_ctx_engines.c @@ -46,15 +46,6 @@ #define engine_class(e, n) ((e)->engines[(n)].engine_class) #define engine_instance(e, n) ((e)->engines[(n)].engine_instance) -static bool has_context_engines(int i915) -{ - struct drm_i915_gem_context_param param = { - .ctx_id = 0, - .param = I915_CONTEXT_PARAM_ENGINES, - }; - return __gem_context_set_param(i915, ¶m) == 0; -} - static void invalid_engines(int i915) { struct i915_context_param_engines stack = {}, *engines; @@ -561,7 +552,7 @@ igt_main igt_require_gem(i915); gem_require_contexts(i915); - igt_require(has_context_engines(i915)); + igt_require(gem_has_engine_topology(i915)); igt_fork_hang_detector(i915); } diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c index 95242829..85f94d79 100644 --- a/tests/i915/gem_exec_balancer.c +++ b/tests/i915/gem_exec_balancer.c @@ -2786,15 +2786,6 @@ static bool has_persistence(int i915) return __gem_context_set_param(i915, &p) == 0; } -static bool has_context_engines(int i915) -{ - struct drm_i915_gem_context_param p = { - .param = I915_CONTEXT_PARAM_ENGINES, - }; - - return __gem_context_set_param(i915, &p) == 0; -} - static bool has_load_balancer(int i915) { const intel_ctx_cfg_t cfg = { @@ -2819,7 +2810,7 @@ igt_main igt_require_gem(i915); gem_require_contexts(i915); - igt_require(has_context_engines(i915)); + igt_require(gem_has_engine_topology(i915)); igt_require(has_load_balancer(i915)); igt_require(has_perf_engines(i915)); diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c index 3a51b51d..a75faeb6 100644 --- a/tests/i915/gem_exec_schedule.c +++ b/tests/i915/gem_exec_schedule.c @@ -1665,15 +1665,6 @@ static void preempt_queue(int fd, const intel_ctx_cfg_t *cfg, } } -static bool has_context_engines(int i915) -{ - struct drm_i915_gem_context_param param = { - .ctx_id = 0, - .param = I915_CONTEXT_PARAM_ENGINES, - }; - return __gem_context_set_param(i915, ¶m) == 0; -} - static void preempt_engines(int i915, const struct intel_execution_engine2 *e, unsigned int flags) @@ -1694,7 +1685,7 @@ static void preempt_engines(int i915, * timeline that we can reprioritise and shuffle amongst themselves. */ - igt_require(has_context_engines(i915)); + igt_require(gem_has_engine_topology(i915)); for (int n = 0; n < GEM_MAX_ENGINES; n++) { cfg.engines[n].engine_class = e->class; |