drm/i915: Force RC6 restore after system resume and reset
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 24 Aug 2016 09:27:01 +0000 (10:27 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 24 Aug 2016 18:39:28 +0000 (19:39 +0100)
In order for the RC6 autoenable worker to take any action, RC6 first
must be disabled. Upon resume or reset, the sw state may be stale and so
we require a forced restore.

Fixes: b7137e0cf1e5 ("drm/i915: Defer enabling rc6 til after we submit...")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20160824092701.19178-1-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
drivers/gpu/drm/i915/i915_drv.c

index 5a7c0c2e57d8ba2ba1e7e994dc54ac1d1c51cea6..fc9273215286c36e906b88ee1dcfd530f774c1f5 100644 (file)
@@ -1560,6 +1560,7 @@ static int i915_drm_resume(struct drm_device *dev)
        int ret;
 
        disable_rpm_wakeref_asserts(dev_priv);
+       intel_sanitize_gt_powersave(dev_priv);
 
        ret = i915_ggtt_enable_hw(dev_priv);
        if (ret)
@@ -1809,6 +1810,7 @@ int i915_reset(struct drm_i915_private *dev_priv)
         * previous concerns that it doesn't respond well to some forms
         * of re-init after reset.
         */
+       intel_sanitize_gt_powersave(dev_priv);
        intel_autoenable_gt_powersave(dev_priv);
 
        return 0;