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 72453f1..715f410 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) ||