From 30a05012f3e8aef18d41deece91af1b6704bf142 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Sun, 2 Feb 2014 12:43:33 +0200 Subject: [PATCH] drm/i915: Leave interrupts enabled while disabling crtcs during suspend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new watermark update mechanism requires interrupts to work correctly. Because of this we need interrupts while disabling crtcs during suspend. So move the irq disable to happen a bit later. This also avoid clobbering the vblank.last count in case the vblank interrupt was already disabled earlier by the timer. In that case drm_vblank_off() will need .last to be correct so that it can update the user visible vblank counter value approapriately. v2: Note vblank counter in commit message v3: s/drm_irq_uninstall/intel_runtime_pm_disable_interrupts/ Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/i915_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 6eb45ac..cb76682 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -520,7 +520,6 @@ static int i915_drm_freeze(struct drm_device *dev) return error; } - intel_runtime_pm_disable_interrupts(dev); dev_priv->enable_hotplug_processing = false; intel_suspend_gt_powersave(dev); @@ -535,6 +534,8 @@ static int i915_drm_freeze(struct drm_device *dev) } drm_modeset_unlock_all(dev); + intel_runtime_pm_disable_interrupts(dev); + intel_modeset_suspend_hw(dev); } -- 1.8.5.5