Re: [PATCH] drm/i915: Skip error capture when wedged on init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 9 Nov 2021 at 12:20, Tvrtko Ursulin
<tvrtko.ursulin@xxxxxxxxxxxxxxx> wrote:
>
> From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
>
> Trying to capture uninitialised engines when we wedged on init ends in
> tears. Skip that together with uC capture, since failure to initialise the
> latter can actually be one of the reasons for wedging on init.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

This fixes the issue with missing GuC wedging the GPU and then blowing
up when trying to use the driver?

Reviewed-by: Matthew Auld <matthew.auld@xxxxxxxxx>

> ---
>  drivers/gpu/drm/i915/i915_gpu_error.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index 2a2d7643b551..aa2b3aad9643 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -1866,10 +1866,14 @@ i915_gpu_coredump(struct intel_gt *gt, intel_engine_mask_t engine_mask)
>                 }
>
>                 gt_record_info(error->gt);
> -               gt_record_engines(error->gt, engine_mask, compress);
>
> -               if (INTEL_INFO(i915)->has_gt_uc)
> -                       error->gt->uc = gt_record_uc(error->gt, compress);
> +               if (!intel_gt_has_unrecoverable_error(gt)) {
> +                       gt_record_engines(error->gt, engine_mask, compress);
> +
> +                       if (INTEL_INFO(i915)->has_gt_uc)
> +                               error->gt->uc = gt_record_uc(error->gt,
> +                                                            compress);
> +               }
>
>                 i915_vma_capture_finish(error->gt, compress);
>
> --
> 2.30.2
>



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux