diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index a08cdc6..38c8937 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1766,7 +1766,7 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev, bool queue_dig = false, queue_hp = false; u32 dig_shift; u32 dig_port_mask = 0; - + if (!hotplug_trigger) return; @@ -1775,9 +1775,11 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev, spin_lock(&dev_priv->irq_lock); for (i = 1; i < HPD_NUM_PINS; i++) { + printk("<0>in %s %d, hpd: %#x, hotplug_trigger: %#x\n", __func__, __LINE__, hpd[i], hotplug_trigger); if (!(hpd[i] & hotplug_trigger)) continue; - + printk("<0>in %s %d\n", __func__, __LINE__); + continue; port = get_port_from_pin(i); if (port && dev_priv->hpd_irq_port[port]) { bool long_hpd; @@ -1860,10 +1862,14 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev, * queue for otherwise the flush_work in the pageflip code will * deadlock. */ - if (queue_dig) + if (queue_dig) { + printk("<0>in %s %d\n", __func__, __LINE__); queue_work(dev_priv->dp_wq, &dev_priv->dig_port_work); - if (queue_hp) + } + if (queue_hp) { + printk("<0>in %s %d\n", __func__, __LINE__); schedule_work(&dev_priv->hotplug_work); + } } static void gmbus_irq_handler(struct drm_device *dev)