drm/i915: Only complain about a rogue hotplug IRQ after disabling
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 10 Jan 2014 18:49:21 +0000 (18:49 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 10 Jan 2014 21:27:13 +0000 (22:27 +0100)
Disabling the hotplug IRQ is a two-step process. First, inside the IRQ
handler we mark the rogue hotplug pin for disabling. Then later in the
hotplug worker, we actually disable the hotplug pin. So we should not
WARN about the rogue hotplug IRQ being sent until after we have
completed disabling the pin.

References: https://bugzilla.redhat.com/show_bug.cgi?id=1051170
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c

index 72453f1f7ae512ec5aec2ff8d5f5eaec864db711..715f410c518cbf4dda467066006c2c7a2bfb3295 100644 (file)
@@ -1234,7 +1234,7 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev,
        for (i = 1; i < HPD_NUM_PINS; i++) {
 
                WARN_ONCE(hpd[i] & hotplug_trigger &&
-                         dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED,
+                         dev_priv->hpd_stats[i].hpd_mark == HPD_DISABLED,
                          "Received HPD interrupt although disabled\n");
 
                if (!(hpd[i] & hotplug_trigger) ||