summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2014-07-23 14:25:24 +1000
committerDave Airlie <airlied@redhat.com>2014-07-24 10:26:58 +1000
commit09b64267c1f72f2670fcde9f11e5453ce365ca23 (patch)
tree69dcdcac667335182d864f064c1cdcf013a9ca26 /drivers/gpu/drm/i915/i915_drv.c
parent78660d5fb03f5d0e6a880dcd704702fd364d93f3 (diff)
drm/i915: don't suspend gt until after we disable irqs and display (v2)
When I moved the irq disable down to after display disable, I didn't realise the gt suspend also required irqs off, so move it down as well. Fixes WARNs seen at suspend/resume time. v2: moved the rps flush down as well. Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.c')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index a361bb9bc24..2a83833207b 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -516,11 +516,6 @@ static int i915_drm_freeze(struct drm_device *dev)
return error;
}
- flush_delayed_work(&dev_priv->rps.delayed_resume_work);
-
-
- intel_suspend_gt_powersave(dev);
-
/*
* Disable CRTCs directly since we want to preserve sw state
* for _thaw.
@@ -532,8 +527,13 @@ static int i915_drm_freeze(struct drm_device *dev)
drm_modeset_unlock_all(dev);
intel_dp_mst_suspend(dev);
+
+ flush_delayed_work(&dev_priv->rps.delayed_resume_work);
+
intel_runtime_pm_disable_interrupts(dev);
+ intel_suspend_gt_powersave(dev);
+
intel_modeset_suspend_hw(dev);
}