[Intel-gfx] [PATCH 86/89] drm/i915: only reset media, blt, and render engines on GPU hangs

Mika Kuoppala mika.kuoppala at linux.intel.com
Thu Sep 4 14:36:56 CEST 2014


Damien Lespiau <damien.lespiau at intel.com> writes:

> From: Jesse Barnes <jbarnes at virtuousgeek.org>
>
> No need to mess with display.
>
> Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_uncore.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index ce1214b..29aa63e 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -1472,7 +1472,8 @@ static int gen6_do_reset(struct drm_device *dev)
>  	 * for fifo space for the write or forcewake the chip for
>  	 * the read
>  	 */
> -	__raw_i915_write32(dev_priv, GEN6_GDRST, GEN6_GRDOM_FULL);
> +	__raw_i915_write32(dev_priv, GEN6_GDRST, GEN6_GRDOM_MEDIA |
> +			   GEN6_GRDOM_BLT | GEN6_GRDOM_RENDER);

You need to reset more engines even if you don't do full reset. Vebox is
missing atleast.

-Mika

>  	/* Spin waiting for the device to ack the reset request */
>  	ret = wait_for((__raw_i915_read32(dev_priv, GEN6_GDRST) & GEN6_GRDOM_FULL) == 0, 500);
> -- 
> 1.8.3.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



More information about the Intel-gfx mailing list