|
@@ -1639,20 +1639,26 @@ static void i9xx_hpd_irq_handler(struct drm_device *dev)
|
|
|
if (IS_G4X(dev) || IS_VALLEYVIEW(dev)) {
|
|
|
u32 hotplug_trigger = hotplug_status & HOTPLUG_INT_STATUS_G4X;
|
|
|
|
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
- hotplug_trigger, hpd_status_g4x,
|
|
|
- i9xx_port_hotplug_long_detect);
|
|
|
- intel_hpd_irq_handler(dev, pin_mask, long_mask);
|
|
|
+ if (hotplug_trigger) {
|
|
|
+ intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
+ hotplug_trigger, hpd_status_g4x,
|
|
|
+ i9xx_port_hotplug_long_detect);
|
|
|
+
|
|
|
+ intel_hpd_irq_handler(dev, pin_mask, long_mask);
|
|
|
+ }
|
|
|
|
|
|
if (hotplug_status & DP_AUX_CHANNEL_MASK_INT_STATUS_G4X)
|
|
|
dp_aux_irq_handler(dev);
|
|
|
} else {
|
|
|
u32 hotplug_trigger = hotplug_status & HOTPLUG_INT_STATUS_I915;
|
|
|
|
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
- hotplug_trigger, hpd_status_g4x,
|
|
|
- i9xx_port_hotplug_long_detect);
|
|
|
- intel_hpd_irq_handler(dev, pin_mask, long_mask);
|
|
|
+ if (hotplug_trigger) {
|
|
|
+ intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
+ hotplug_trigger, hpd_status_g4x,
|
|
|
+ i9xx_port_hotplug_long_detect);
|
|
|
+
|
|
|
+ intel_hpd_irq_handler(dev, pin_mask, long_mask);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|