drm/i915/selftests: Remember to create the fake preempt context
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 5 Oct 2017 10:59:27 +0000 (11:59 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 5 Oct 2017 12:21:16 +0000 (13:21 +0100)
For the fake device we have our own set of mock contexts that need to
match the real contexts we normally create. Currently this requires us
to manually instantiate them for the selftests, which I forgot.

Reported-by: Matthew Auld <matthew.william.auld@gmail.com>
Fixes: e7af3116836f ("drm/i915: Introduce a preempt context")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: MichaƂ Winiarski <michal.winiarski@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171005105927.22991-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
drivers/gpu/drm/i915/selftests/mock_gem_device.c

index 2388424..d01b7ec 100644 (file)
@@ -239,8 +239,14 @@ struct drm_i915_private *mock_gem_device(void)
        if (!i915->kernel_context)
                goto err_engine;
 
+       i915->preempt_context = mock_context(i915, NULL);
+       if (!i915->preempt_context)
+               goto err_kernel_context;
+
        return i915;
 
+err_kernel_context:
+       i915_gem_context_put(i915->kernel_context);
 err_engine:
        for_each_engine(engine, i915, id)
                mock_engine_free(engine);