]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Park the breadcrumbs signaler across a GPU reset
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 12 Feb 2017 17:20:01 +0000 (17:20 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 13 Feb 2017 11:18:28 +0000 (11:18 +0000)
commitbb88bd4d29656f09e9aa44b5a86c092461fb0302
tree40d422957e6d5c2eb594b9491facd877c8a5eba9
parent6ac5cf9d0c6ba7d79707da5157346b6805cd24a3
drm/i915: Park the breadcrumbs signaler across a GPU reset

The signal threads may be running concurrently with the GPU reset. The
completion from the GPU run asynchronous with the reset and two threads
may see different snapshots of the state, and the signaler may mark a
request as complete as we try to reset it. We don't tolerate 2 different
views of the same state and complain if we try to mark a request as
failed if it is already complete. Disable the signal threads during
reset to prevent this conflict (even though the conflict implies that
the state we resetting to is invalid, we have already made our
decision!).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99733
References: https://bugs.freedesktop.org/show_bug.cgi?id=99671
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170212172002.23072-4-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/intel_breadcrumbs.c