diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 6c89f2f..3eac9f0 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -563,7 +563,10 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) queue_work(dev_priv->wq, &dev_priv->hotplug_work); - I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); + I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status | + HDMIB_HOTPLUG_INT_STATUS | + HDMIC_HOTPLUG_INT_STATUS | + HDMID_HOTPLUG_INT_STATUS); I915_READ(PORT_HOTPLUG_STAT); /* EOS interrupts occurs */ @@ -984,7 +987,7 @@ int i915_driver_irq_postinstall(struct drm_device *dev) dev_priv->hotplug_supported_mask = CRT_HOTPLUG_INT_STATUS | TV_HOTPLUG_INT_STATUS | SDVOC_HOTPLUG_INT_STATUS | SDVOB_HOTPLUG_INT_STATUS; - if (IS_G4X(dev)) { + if (IS_G4X(dev) && 0) { dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS | HDMIC_HOTPLUG_INT_STATUS |