[Intel-gfx] [PATCH] drm/i915/gt: Clear wedged status upon suspend
Das, Nirmoy
nirmoy.das at linux.intel.com
Tue Jan 24 11:07:19 UTC 2023
Forgot to add the drm issue a reference.
On 1/24/2023 12:05 PM, Nirmoy Das wrote:
> From: Chris Wilson <chris.p.wilson at linux.intel.com>
>
> Currently we use set-wedged on suspend if the workload is not responding
> in order to allow a fast suspend (albeit at the cost of discarding the
> current userspace). This may leave the device wedged during suspend,
> where we may require the device available in order to swapout CPU
> inaccessible device memory. Clear any temporary wedged-status after
> flushing userspace off the device so we can use the blitter ourselves
> inside suspend.
>
> Testcase: igt/gem_eio/in-flight-suspend
References: https://gitlab.freedesktop.org/drm/intel/-/issues/7896
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Signed-off-by: Chris Wilson <chris.p.wilson at linux.intel.com>
> Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>
> ---
> drivers/gpu/drm/i915/gt/intel_gt_pm.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> index cef3d6f5c34e..74d1dd3793f9 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> @@ -317,19 +317,17 @@ int intel_gt_resume(struct intel_gt *gt)
>
> static void wait_for_suspend(struct intel_gt *gt)
> {
> - if (!intel_gt_pm_is_awake(gt))
> - return;
> -
> - if (intel_gt_wait_for_idle(gt, I915_GT_SUSPEND_IDLE_TIMEOUT) == -ETIME) {
> + if (intel_gt_wait_for_idle(gt, I915_GT_SUSPEND_IDLE_TIMEOUT) == -ETIME)
> /*
> * Forcibly cancel outstanding work and leave
> * the gpu quiet.
> */
> intel_gt_set_wedged(gt);
> - intel_gt_retire_requests(gt);
> - }
>
> intel_gt_pm_wait_for_idle(gt);
> +
> + /* Make the GPU available again for swapout */
> + intel_gt_unset_wedged(gt);
> }
>
> void intel_gt_suspend_prepare(struct intel_gt *gt)
More information about the Intel-gfx
mailing list