drm/i915: Park the signaler before sleeping
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 3 Apr 2017 10:51:24 +0000 (11:51 +0100)
committerJani Nikula <jani.nikula@intel.com>
Wed, 26 Apr 2017 13:27:52 +0000 (16:27 +0300)
commit1676a2b35cd5a548da17d1106fb0d4d238c0d191
treeb1c8e2f680ab43a1cf119cd49649ab514da63dc1
parentf8a77153b0cb6eef34f16670df678dae49ce3776
drm/i915: Park the signaler before sleeping

If the signal to park arrives before we sleep, then we need to check
kthread_should_park() before sleeping to avoid missing the signal.
Otherwise, if the signal arrives whilst we are processing completed
requests, we will reset the current->state back to TASK_INTERRUPTIBLE
and so miss the wakeup.

Fixes: fe3288b5da2c ("drm/i915: Park the breadcrumbs signaler across a GPU reset")
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/20170403105124.8969-1-chris@chris-wilson.co.uk
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
(cherry picked from commit b1becb88268beb72df6495e35d3d76c138d215bb)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/intel_breadcrumbs.c