]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Complete requests in nop_submit_request
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 22 Nov 2016 14:41:20 +0000 (14:41 +0000)
committerJani Nikula <jani.nikula@intel.com>
Mon, 5 Dec 2016 08:38:01 +0000 (10:38 +0200)
commit30fe4c1e0e3b065b81894e3618b5ad07fa2ba8ef
tree9d56bdd94af944a48ff2a57b7e4a42e02097b034
parent458e213d68cbc8942f7f653781b2d5dc84ec3f6d
drm/i915: Complete requests in nop_submit_request

Since the submit/execute split in commit aef9953b9669 ("drm/i915: Defer
transfer onto execution timeline to actual hw submission") the
global seqno advance was deferred until the submit_request callback.
After wedging the GPU, we were installing a nop_submit_request handler
(to avoid waking up the dead hw) but I had missed converting this over
to the new scheme. Under the new scheme, we have to explicitly call
i915_gem_submit_request() from the submit_request handler to mark the
request as on the hardware. If we don't the request is always pending,
and any waiter will continue to wait indefinitely and hangcheck will not
be able to resolve the lockup.

References: https://bugs.freedesktop.org/show_bug.cgi?id=98748
Testcase: igt/gem_eio/in-flight
Fixes: aef9953b9669 ("drm/i915: Defer transfer onto execution timeline to actual hw submission")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161122144121.7379-3-chris@chris-wilson.co.uk
(cherry picked from commit 3dcf93f7f23a61e867a5ccadaf651cb2d29229fd)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_gem.c