aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-07-21 13:32:29 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-07-27 09:38:47 +0200
commited454f2cd61a54d00c267e385c0600bae0761833 (patch)
tree592f7628663659027f878215156f78cea71e3d52 /drivers/gpu
parentdrm/i915: Assert that machine is wedged for nop_submit_request (diff)
downloadlinux-dev-ed454f2cd61a54d00c267e385c0600bae0761833.tar.xz
linux-dev-ed454f2cd61a54d00c267e385c0600bae0761833.zip
drm/i915: Clear engine irq posted following a reset
When the GPU is reset, we want to discard all pending notifications as either we have manually completed them, or they are no longer applicable. Make sure we do reset the engine->irq_posted prior to re-enabling the engine (e.g. the interrupt tasklets) in i915_gem_reset_finish_engine(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michel Thierry <michel.thierry@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170721123238.16428-11-chris@chris-wilson.co.uk Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 2ff5e23406e5..fcf7fee7ca71 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2964,6 +2964,8 @@ static bool i915_gem_reset_request(struct drm_i915_gem_request *request)
void i915_gem_reset_engine(struct intel_engine_cs *engine,
struct drm_i915_gem_request *request)
{
+ engine->irq_posted = 0;
+
if (request && i915_gem_reset_request(request)) {
DRM_DEBUG_DRIVER("resetting %s to restart from tail of request 0x%x\n",
engine->name, request->global_seqno);