summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/selftests/igt_spinner.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-02-08 15:37:08 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2019-02-08 16:47:40 +0000
commit21182b3c4cbbf57f11fd10ab8832f15767d906b2 (patch)
tree0afe4a411b3c054958a9f1209c8ba4db92b06fc5 /drivers/gpu/drm/i915/selftests/igt_spinner.c
parent72eb16df010a436644c6515892ab8e2c428afe7f (diff)
downloadlinux-stable-21182b3c4cbbf57f11fd10ab8832f15767d906b2.tar.gz
linux-stable-21182b3c4cbbf57f11fd10ab8832f15767d906b2.tar.bz2
linux-stable-21182b3c4cbbf57f11fd10ab8832f15767d906b2.zip
drm/i915: Don't claim an unstarted request was guilty
If we haven't even begun executing the payload of the stalled request, then we should not claim that its userspace context was guilty of submitting a hanging batch. v2: Check for context corruption before trying to restart. v3: Preserve semaphores on skipping requests (need to keep the timelines intact). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190208153708.20023-7-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/selftests/igt_spinner.c')
-rw-r--r--drivers/gpu/drm/i915/selftests/igt_spinner.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/selftests/igt_spinner.c b/drivers/gpu/drm/i915/selftests/igt_spinner.c
index 9ebd9225684e..d0b93a3fbc54 100644
--- a/drivers/gpu/drm/i915/selftests/igt_spinner.c
+++ b/drivers/gpu/drm/i915/selftests/igt_spinner.c
@@ -144,6 +144,13 @@ igt_spinner_create_request(struct igt_spinner *spin,
i915_gem_chipset_flush(spin->i915);
+ if (engine->emit_init_breadcrumb &&
+ rq->timeline->has_initial_breadcrumb) {
+ err = engine->emit_init_breadcrumb(rq);
+ if (err)
+ goto cancel_rq;
+ }
+
err = engine->emit_bb_start(rq, vma->node.start, PAGE_SIZE, 0);
cancel_rq: