Commit 52aac377 authored by Chris Wilson's avatar Chris Wilson

drm/i915/selftests: Check all blitter engines for client blt

Check all user accessible engines that can blit work with our blitter
client.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191027225808.19437-3-chris@chris-wilson.co.uk
parent 1f9f6353
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "i915_selftest.h" #include "i915_selftest.h"
#include "gt/intel_engine_user.h"
#include "gt/intel_gt.h" #include "gt/intel_gt.h"
#include "selftests/igt_flush_test.h" #include "selftests/igt_flush_test.h"
...@@ -12,10 +13,9 @@ ...@@ -12,10 +13,9 @@
#include "huge_gem_object.h" #include "huge_gem_object.h"
#include "mock_context.h" #include "mock_context.h"
static int igt_client_fill(void *arg) static int __igt_client_fill(struct intel_engine_cs *engine)
{ {
struct drm_i915_private *i915 = arg; struct intel_context *ce = engine->kernel_context;
struct intel_context *ce = i915->engine[BCS0]->kernel_context;
struct drm_i915_gem_object *obj; struct drm_i915_gem_object *obj;
struct rnd_state prng; struct rnd_state prng;
IGT_TIMEOUT(end); IGT_TIMEOUT(end);
...@@ -37,7 +37,7 @@ static int igt_client_fill(void *arg) ...@@ -37,7 +37,7 @@ static int igt_client_fill(void *arg)
pr_debug("%s with phys_sz= %x, sz=%x, val=%x\n", __func__, pr_debug("%s with phys_sz= %x, sz=%x, val=%x\n", __func__,
phys_sz, sz, val); phys_sz, sz, val);
obj = huge_gem_object(i915, phys_sz, sz); obj = huge_gem_object(engine->i915, phys_sz, sz);
if (IS_ERR(obj)) { if (IS_ERR(obj)) {
err = PTR_ERR(obj); err = PTR_ERR(obj);
goto err_flush; goto err_flush;
...@@ -103,6 +103,28 @@ static int igt_client_fill(void *arg) ...@@ -103,6 +103,28 @@ static int igt_client_fill(void *arg)
return err; return err;
} }
static int igt_client_fill(void *arg)
{
int inst = 0;
do {
struct intel_engine_cs *engine;
int err;
engine = intel_engine_lookup_user(arg,
I915_ENGINE_CLASS_COPY,
inst++);
if (!engine)
return 0;
err = __igt_client_fill(engine);
if (err == -ENOMEM)
err = 0;
if (err)
return err;
} while (1);
}
int i915_gem_client_blt_live_selftests(struct drm_i915_private *i915) int i915_gem_client_blt_live_selftests(struct drm_i915_private *i915)
{ {
static const struct i915_subtest tests[] = { static const struct i915_subtest tests[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment