drm/i915: Defer rc6 shutdown to suspend_late
Currently we shutdown rc6 during i915_gem_resume() but this is called during the preparation phase (i915_drm_prepare) for all suspend paths, but we only want to shutdown rc6 for S3+. Move the actual shutdown to i915_gem_suspend_late(). We then need to differentiate between suspend targets, to distinguish S0 (s2idle) where the device is kept awake but needs to be in a low power mode (the same as runtime suspend) from the device suspend levels where we lose control of HW and so must disable any HW access to dangling memory. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111909 Fixes: c1132367 ("drm/i915: Extract GT render sleep (rc6) management") Testcase: igt/gem_exec_suspend/power-S0 Signed-off-by:Chris Wilson <chris@chris-wilson.co.uk> Cc: Andi Shyti <andi.shyti@intel.com> Acked-by:
Andi Shyti <andi.shyti@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191101141009.15581-4-chris@chris-wilson.co.uk
Showing
- drivers/gpu/drm/i915/gem/i915_gem_pm.c 3 additions, 1 deletiondrivers/gpu/drm/i915/gem/i915_gem_pm.c
- drivers/gpu/drm/i915/gt/intel_gt_pm.c 38 additions, 6 deletionsdrivers/gpu/drm/i915/gt/intel_gt_pm.c
- drivers/gpu/drm/i915/gt/intel_gt_pm.h 2 additions, 1 deletiondrivers/gpu/drm/i915/gt/intel_gt_pm.h
- drivers/gpu/drm/i915/gt/intel_rc6.c 5 additions, 0 deletionsdrivers/gpu/drm/i915/gt/intel_rc6.c
- drivers/gpu/drm/i915/gt/selftest_gt_pm.c 1 addition, 1 deletiondrivers/gpu/drm/i915/gt/selftest_gt_pm.c
Loading
Please register or sign in to comment