Quoting Daniele Ceraolo Spurio (2019-11-20 00:04:25) > 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@xxxxxxxxx> > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx> > --- > 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 d1752f15702a..0bb17c806dfc 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_gt_pm.c > +++ b/drivers/gpu/drm/i915/gt/selftest_gt_pm.c > @@ -11,8 +11,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); That defeats the point of gt pm, no? > + > /* Do several suspend/resume cycles to check we don't explode! */ > do { > intel_gt_suspend_prepare(gt); > @@ -25,6 +28,10 @@ static int live_gt_resume(void *arg) > break; > } > > + err = intel_gt_init_hw(gt); Hmm. I have that as part of intel_gt_resume. Which also pulls it into the pm. I think I prefer my plan/patches :) -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx