summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJason Ekstrand <jason@jlekstrand.net>2021-04-15 14:06:27 -0500
committerJason Ekstrand <jason@jlekstrand.net>2021-07-08 12:45:33 -0500
commit3eae7848c89161d1cc66c88c90bc558e56df691b (patch)
tree5024130f0872641896a5027a36810bd8f79267f2 /tests
parentd1cff0549a825d8bfe9b42ce3108dfb246528b3e (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.c11
-rw-r--r--tests/i915/gem_exec_balancer.c11
-rw-r--r--tests/i915/gem_exec_schedule.c11
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, &param) == 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, &param) == 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;