summaryrefslogtreecommitdiff
path: root/shared-core/i915_irq.c
diff options
context:
space:
mode:
authorRobert Noland <rnoland@2hip.net>2009-02-25 14:19:01 -0600
committerRobert Noland <rnoland@2hip.net>2009-02-25 14:20:52 -0600
commit948af0bd9b9eade489599d7ec160d42706331779 (patch)
tree36af5c0f616f32ea251015f25f49ce3ae138a9e0 /shared-core/i915_irq.c
parentefa485b2cf2f1f46760a3d9297ba1a73a2dbcd05 (diff)
i915: Backport jbarnes gm45 vblank counter patch.
Diffstat (limited to 'shared-core/i915_irq.c')
-rw-r--r--shared-core/i915_irq.c13
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;