diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_irq.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 70e1e4b66744..d676e55eb212 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -1434,8 +1434,18 @@ int i915_driver_irq_postinstall(struct drm_device *dev) | |||
1434 | hotplug_en |= SDVOC_HOTPLUG_INT_EN; | 1434 | hotplug_en |= SDVOC_HOTPLUG_INT_EN; |
1435 | if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS) | 1435 | if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS) |
1436 | hotplug_en |= SDVOB_HOTPLUG_INT_EN; | 1436 | hotplug_en |= SDVOB_HOTPLUG_INT_EN; |
1437 | if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) | 1437 | if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) { |
1438 | hotplug_en |= CRT_HOTPLUG_INT_EN; | 1438 | hotplug_en |= CRT_HOTPLUG_INT_EN; |
1439 | |||
1440 | /* Programming the CRT detection parameters tends | ||
1441 | to generate a spurious hotplug event about three | ||
1442 | seconds later. So just do it once. | ||
1443 | */ | ||
1444 | if (IS_G4X(dev)) | ||
1445 | hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64; | ||
1446 | hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50; | ||
1447 | } | ||
1448 | |||
1439 | /* Ignore TV since it's buggy */ | 1449 | /* Ignore TV since it's buggy */ |
1440 | 1450 | ||
1441 | I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); | 1451 | I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); |