[Intel-gfx] [PATCH] drm/i915: Fail harder if GPU reset fails outright

Chris Wilson chris at chris-wilson.co.uk
Wed Jun 26 09:00:38 UTC 2019


Quoting Chris Wilson (2019-06-26 00:08:15)
> If we request a reset and the GPU fails to respond, abandon all hope. If
> the request is still stuck when we attempt to do another, fail early and
> avoid requesting multiple possibly conflicting domains be reset
> simultaneously.
> 
> We should never see this in practice, and if we do, it is already too
> late.
> 
> References: https://bugs.freedesktop.org/show_bug.cgi?id=110998
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_reset.c | 15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
> index 72002c0f9698..56c43f8cbc17 100644
> --- a/drivers/gpu/drm/i915/gt/intel_reset.c
> +++ b/drivers/gpu/drm/i915/gt/intel_reset.c
> @@ -301,8 +301,16 @@ static int gen6_hw_domain_reset(struct drm_i915_private *i915,
>                                 u32 hw_domain_mask)
>  {
>         struct intel_uncore *uncore = &i915->uncore;
> +       u32 status;
>         int err;
>  
> +       /*
> +        * Check that all previous reset requests have been flushed so
> +        * that we don't simultaneously try to reset 2 overlapping domains.
> +        */
> +       if (intel_uncore_read_fw(uncore, GEN6_GDRST))

Thinking about this, this does nerf our attempt to try and reset two
engines at once from different events.

Put it on the back burner.
-Chris


More information about the Intel-gfx mailing list