From: Dave Airlie Date: Wed, 23 Jul 2014 04:25:24 +0000 (+1000) Subject: drm/i915: don't suspend gt until after we disable irqs and display (v2) X-Git-Tag: v3.17-rc1~82^2~30 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=09b64267c1f72f2670fcde9f11e5453ce365ca23;p=uclinux-h8%2Flinux.git 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 Signed-off-by: Dave Airlie --- diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index a361bb9bc243..2a83833207b1 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); }