[Intel-gfx] [PATCH] drm/i915: Move hangcheck reset from out of the engines into the GPU reset

Mika Kuoppala mika.kuoppala at linux.intel.com
Thu Jul 14 13:59:56 UTC 2016


Chris Wilson <chris at chris-wilson.co.uk> writes:

> Let's not reset the hangcheck as a side-effect of initialising the
> engine, but as part of our GPU reset.
>

I think TDR will need both the init and the reset.

-Mika

> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> Cc: Arun Siluvery <arun.siluvery at linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem.c         | 1 +
>  drivers/gpu/drm/i915/intel_lrc.c        | 2 --
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 2 --
>  3 files changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index b788f97cd4cf..978fa6f6f747 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -3169,6 +3169,7 @@ static void i915_gem_reset_engine_cleanup(struct intel_engine_cs *engine)
>  	}
>  
>  	intel_ring_init_seqno(engine, engine->last_submitted_seqno);
> +	intel_engine_init_hangcheck(engine);
>  }
>  
>  void i915_gem_reset(struct drm_device *dev)
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index b6af635e3a0f..377cfbfb71fd 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -1529,8 +1529,6 @@ static int gen8_init_common_ring(struct intel_engine_cs *engine)
>  	engine->next_context_status_buffer = next_context_status_buffer_hw;
>  	DRM_DEBUG_DRIVER("Execlists enabled for %s\n", engine->name);
>  
> -	intel_engine_init_hangcheck(engine);
> -
>  	return intel_mocs_init_engine(engine);
>  }
>  
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 94c8ef461721..8a9e035341a9 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -627,8 +627,6 @@ static int init_ring_common(struct intel_engine_cs *engine)
>  	ringbuf->tail = I915_READ_TAIL(engine) & TAIL_ADDR;
>  	intel_ring_update_space(ringbuf);
>  
> -	intel_engine_init_hangcheck(engine);
> -
>  out:
>  	intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
>  
> -- 
> 2.8.1


More information about the Intel-gfx mailing list