[Intel-gfx] [PATCH] drm/i915: Cancel hangcheck before GPU is suspended

Chris Wilson chris at chris-wilson.co.uk
Wed Dec 9 08:19:07 PST 2015


On Wed, Dec 09, 2015 at 04:10:03PM +0200, Imre Deak wrote:
> On ke, 2015-12-09 at 15:56 +0200, Joonas Lahtinen wrote:
> > In order to avoid accessing GPU registers while GPU is suspended
> > cancel
> > the hangcheck work before calling intel_suspend_complete which
> > actually
> > puts the GPU to suspend. Otherwise hangcheck might do MMIO reads to a
> > suspended GPU.
> > 
> > Placement before intel_guc_suspend is imitated from i915_drm_suspend
> > which cancels the work at i915_gem_suspend, to keep the functions
> > similar.
> > 
> > On VLV systems, namely BYT, this was causing an error during runtime
> > suspend cycle:
> > 
> > [drm:vlv_check_no_gt_access [i915]] *ERROR* GT register access while
> > GT waking disabled
> > 
> > Testcase: igt/pm_rpm/basic-rte
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93121
> > 
> > Signed-off-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> > Cc: Imre Deak <imre.deak at intel.com>
> > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> 
> Yep, looks good to me:
> Reviewed-by: Imre Deak <imre.deak at intel.com>

Well Imre also shotdown the simple tryget plan, so the only thing I can
say is that I'd rather move the cancel_sync(hangcheck) out of the
intel_runtime_suspend() into the mark_idle to match it's counterpart in
mark_busy.

Patch in the post, so for now
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list