aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2009-05-05 16:13:16 -0400
committerEric Anholt <eric@anholt.net>2009-06-05 10:22:31 -0400
commit42c2798b35b95c471877133e19ccc3cab00e9b65 (patch)
treecb0753984d1bc5bd335c99d6ef30c3de103412fd
parent70aa96ca2d8d938fc036ef8fd189b0151f4fc3ba (diff)
drm/i915: apply G45 vblank count code to all G4x chips and fix max_frame_count
All G4x and newer chips use the new style frame count register, with a full 32 bit frame count. Update the code to reflect this. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c5
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c2
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 5d36059d6f4e..68e882cd9651 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1161,8 +1161,11 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
1161#endif 1161#endif
1162 1162
1163 dev->driver->get_vblank_counter = i915_get_vblank_counter; 1163 dev->driver->get_vblank_counter = i915_get_vblank_counter;
1164 if (IS_GM45(dev)) 1164 dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */
1165 if (IS_G4X(dev)) {
1166 dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */
1165 dev->driver->get_vblank_counter = gm45_get_vblank_counter; 1167 dev->driver->get_vblank_counter = gm45_get_vblank_counter;
1168 }
1166 1169
1167 i915_gem_load(dev); 1170 i915_gem_load(dev);
1168 1171
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 4b0bcbd58b8f..701d6809deb7 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -574,8 +574,6 @@ int i915_driver_irq_postinstall(struct drm_device *dev)
574 574
575 dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B; 575 dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B;
576 576
577 dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */
578
579 /* Unmask the interrupts that we always want on. */ 577 /* Unmask the interrupts that we always want on. */
580 dev_priv->irq_mask_reg = ~I915_INTERRUPT_ENABLE_FIX; 578 dev_priv->irq_mask_reg = ~I915_INTERRUPT_ENABLE_FIX;
581 579