[Intel-gfx] [PATCH] drm/i915: ignore hotplug event across suspend

Zhang, Xiong Y xiong.y.zhang at intel.com
Mon Mar 11 04:54:11 CET 2013


when system enter suspend, hibernate and poweroff state, it will
disable modeset firstly, then disable irq, but some system generate
hotplug event between disable modeset and disable irq, this will
result in S3, S4 failure. So this hotplug event should be ignored.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61508
Signed-off-by: Xiong Zhang <xiong.y.zhang at intel.com>
---
 drivers/gpu/drm/i915/i915_irq.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 2139714..68cc7a7 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -290,6 +290,12 @@ static void i915_hotplug_work_func(struct work_struct *work)
        struct drm_device *dev = dev_priv->dev;
        struct drm_mode_config *mode_config = &dev->mode_config;
        struct intel_encoder *encoder;
+
+        /* some system generate hotplug envent when system enter sleep state.
+         * it should be ignored.
+         */
+        if (dev_priv->mm.suspended)
+            return;

        /* HPD irq before everything is fully set up. */
        if (!dev_priv->enable_hotplug_processing)



More information about the Intel-gfx mailing list