[PATCH RESEND] drm/i915: Mark GPU wedging on driver unregister unrecoverable

Michał Winiarski michal.winiarski at intel.com
Fri Sep 10 11:31:27 UTC 2021


On 03.09.2021 16:28, Janusz Krzysztofik wrote:
> GPU wedged flag now set on driver unregister to prevent from further
> using the GPU can be then cleared unintentionally when calling
> __intel_gt_unset_wedged() still before the flag is finally marked
> unrecoverable.  We need to have it marked unrecoverable earlier.
> Implement that by replacing a call to intel_gt_set_wedged() in
> intel_gt_driver_unregister() with intel_gt_set_wedged_on_fini().
> 
> With the above in place, intel_gt_set_wedged_on_fini() is now called
> twice on driver remove, second time from __intel_gt_disable().  This
> seems harmless, while dropping intel_gt_set_wedged_on_fini() from
> __intel_gt_disable() proved to break some driver probe error unwind
> paths as well as mock selftest exit path.
> 
> Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
> Cc: Michał Winiarski <michal.winiarski at intel.com>

Reviewed-by: Michał Winiarski <michal.winiarski at intel.com>

-Michał

> ---
> Resending with Cc: dri-devel at lists.freedesktop.org as requested.
> 
> Thanks,
> Janusz
> 
>   drivers/gpu/drm/i915/gt/intel_gt.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
> index 62d40c986642..173b53cb2b47 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> @@ -750,7 +750,7 @@ void intel_gt_driver_unregister(struct intel_gt *gt)
>   	 * all in-flight requests so that we can quickly unbind the active
>   	 * resources.
>   	 */
> -	intel_gt_set_wedged(gt);
> +	intel_gt_set_wedged_on_fini(gt);
>   
>   	/* Scrub all HW state upon release */
>   	with_intel_runtime_pm(gt->uncore->rpm, wakeref)
> 



More information about the dri-devel mailing list