diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-07-09 10:12:33 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-07-16 14:06:45 +0100 |
commit | 09975b861aa0c5cc0f1a6f9543807f344c4c12ae (patch) | |
tree | 57a713df25ad1b27f84bd4676380add1726fc933 /drivers/gpu/drm/i915/gt/selftest_lrc.c | |
parent | cfe7288c276e359eebf057699fe86c2f8af14224 (diff) |
drm/i915/execlists: Disable preemption under GVT
Preempt-to-busy uses a GPU semaphore to enforce an idle-barrier across
preemption, but mediated gvt does not fully support semaphores.
v2: Fiddle around with the flags and settle on using has-semaphores for
the core bits so that we retain the ability to preempt our own
semaphores.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Xiaolin Zhang <xiaolin.zhang@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Acked-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190709091233.8573-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/gt/selftest_lrc.c')
-rw-r--r-- | drivers/gpu/drm/i915/gt/selftest_lrc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c index 6b6cea76cc8b..60f27e52d267 100644 --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c @@ -269,6 +269,9 @@ static int live_timeslice_preempt(void *arg) enum intel_engine_id id; for_each_engine(engine, i915, id) { + if (!intel_engine_has_preemption(engine)) + continue; + memset(vaddr, 0, PAGE_SIZE); err = slice_semaphore_queue(engine, vma, count); @@ -354,6 +357,9 @@ static int live_busywait_preempt(void *arg) struct igt_live_test t; u32 *cs; + if (!intel_engine_has_preemption(engine)) + continue; + if (!intel_engine_can_store_dword(engine)) continue; |