[PATCH 3/3] HAX: drm/i915/selftests: re-init the GT in live_gt_pm
Fernando Pacheco
fernando.pacheco at intel.com
Thu Nov 21 22:13:23 UTC 2019
From: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
When GuC is in use we need to make sure it is re-loaded before the call
to gt_resume, otherwise communication from the engines to the GuC will
not be processed, which blocks the engines from ctx switching and from
being reset.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=112205
Cc: Andi Shyti <andi.shyti at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
---
drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt/selftest_gt_pm.c b/drivers/gpu/drm/i915/gt/selftest_gt_pm.c
index 5e563b877368..089d00f051eb 100644
--- a/drivers/gpu/drm/i915/gt/selftest_gt_pm.c
+++ b/drivers/gpu/drm/i915/gt/selftest_gt_pm.c
@@ -12,8 +12,11 @@ static int live_gt_resume(void *arg)
{
struct intel_gt *gt = arg;
IGT_TIMEOUT(end_time);
+ intel_wakeref_t wakeref;
int err;
+ wakeref = intel_runtime_pm_get(gt->uncore->rpm);
+
/* Do several suspend/resume cycles to check we don't explode! */
do {
intel_gt_suspend_prepare(gt);
@@ -26,6 +29,10 @@ static int live_gt_resume(void *arg)
break;
}
+ err = intel_gt_init_hw(gt);
+ if (err)
+ break;
+
err = intel_gt_resume(gt);
if (err)
break;
@@ -45,6 +52,8 @@ static int live_gt_resume(void *arg)
}
} while (!__igt_timeout(end_time, NULL));
+ intel_runtime_pm_put(gt->uncore->rpm, wakeref);
+
return err;
}
--
2.24.0
More information about the Intel-gfx-trybot
mailing list