diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index a361bb9bc2430e4110506d4ff982498791d6644d..2a83833207b1be925531892549132202d9c53c06 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); }