diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_irq.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 8b158f02bd0f..7391697c25e7 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -1020,7 +1020,7 @@ static int i915_get_crtc_scanoutpos(struct drm_device *dev, int pipe, | |||
1020 | 1020 | ||
1021 | /* In vblank? */ | 1021 | /* In vblank? */ |
1022 | if (in_vbl) | 1022 | if (in_vbl) |
1023 | ret |= DRM_SCANOUTPOS_INVBL; | 1023 | ret |= DRM_SCANOUTPOS_IN_VBLANK; |
1024 | 1024 | ||
1025 | return ret; | 1025 | return ret; |
1026 | } | 1026 | } |
@@ -4701,6 +4701,14 @@ void intel_irq_init(struct drm_device *dev) | |||
4701 | dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ | 4701 | dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ |
4702 | } | 4702 | } |
4703 | 4703 | ||
4704 | /* | ||
4705 | * Opt out of the vblank disable timer on everything except gen2. | ||
4706 | * Gen2 doesn't have a hardware frame counter and so depends on | ||
4707 | * vblank interrupts to produce sane vblank seuquence numbers. | ||
4708 | */ | ||
4709 | if (!IS_GEN2(dev)) | ||
4710 | dev->vblank_disable_immediate = true; | ||
4711 | |||
4704 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { | 4712 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { |
4705 | dev->driver->get_vblank_timestamp = i915_get_vblank_timestamp; | 4713 | dev->driver->get_vblank_timestamp = i915_get_vblank_timestamp; |
4706 | dev->driver->get_scanout_position = i915_get_crtc_scanoutpos; | 4714 | dev->driver->get_scanout_position = i915_get_crtc_scanoutpos; |