diff options
author | Robert Noland <rnoland@2hip.net> | 2009-02-25 14:19:01 -0600 |
---|---|---|
committer | Robert Noland <rnoland@2hip.net> | 2009-02-25 14:20:52 -0600 |
commit | 948af0bd9b9eade489599d7ec160d42706331779 (patch) | |
tree | 36af5c0f616f32ea251015f25f49ce3ae138a9e0 /shared-core/i915_irq.c | |
parent | efa485b2cf2f1f46760a3d9297ba1a73a2dbcd05 (diff) |
i915: Backport jbarnes gm45 vblank counter patch.
Diffstat (limited to 'shared-core/i915_irq.c')
-rw-r--r-- | shared-core/i915_irq.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/shared-core/i915_irq.c b/shared-core/i915_irq.c index 77ff8d8b..50ff93a4 100644 --- a/shared-core/i915_irq.c +++ b/shared-core/i915_irq.c @@ -167,6 +167,19 @@ u32 i915_get_vblank_counter(struct drm_device *dev, int pipe) return count; } +u32 gm45_get_vblank_counter(struct drm_device *dev, int pipe) +{ + drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; + int reg = pipe ? PIPEB_FRMCOUNT_GM45 : PIPEA_FRMCOUNT_GM45; + + if (!i915_pipe_enabled(dev, pipe)) { + DRM_ERROR("trying to get vblank count for disabled pipe %d\n", pipe); + return 0; + } + + return I915_READ(reg); +} + irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) { struct drm_device *dev = (struct drm_device *) arg; |