Skip to content

Commit

Permalink
drm/i915/selftests: Skip live context execution test without logical …
Browse files Browse the repository at this point in the history
…contexts

If the HW (or driver) doesn't support logical contexts, don't pretend we
gain anything from trying to execute GPU commands with them. At best it
reports -ENODEV, which is an unhelpful failure that we should just skip.

v2: Be more specific and check the driver/engine caps for logical (HW)
context support.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180706101923.28548-1-chris@chris-wilson.co.uk
  • Loading branch information
Chris Wilson committed Jul 6, 2018
1 parent 481827b commit 0fdbe58
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion drivers/gpu/drm/i915/selftests/i915_gem_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -336,11 +336,15 @@ static int igt_ctx_exec(void *arg)
bool first_shared_gtt = true;
int err = -ENODEV;

/* Create a few different contexts (with different mm) and write
/*
* Create a few different contexts (with different mm) and write
* through each ctx/mm using the GPU making sure those writes end
* up in the expected pages of our obj.
*/

if (!DRIVER_CAPS(i915)->has_logical_contexts)
return 0;

file = mock_file(i915);
if (IS_ERR(file))
return PTR_ERR(file);
Expand All @@ -367,6 +371,9 @@ static int igt_ctx_exec(void *arg)
}

for_each_engine(engine, i915, id) {
if (!engine->context_size)
continue; /* No logical context support in HW */

if (!intel_engine_can_store_dword(engine))
continue;

Expand Down

0 comments on commit 0fdbe58

Please sign in to comment.