diff options
| author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-05-05 16:13:16 -0400 |
|---|---|---|
| committer | Eric Anholt <eric@anholt.net> | 2009-06-05 10:22:31 -0400 |
| commit | 42c2798b35b95c471877133e19ccc3cab00e9b65 (patch) | |
| tree | cb0753984d1bc5bd335c99d6ef30c3de103412fd /drivers | |
| parent | 70aa96ca2d8d938fc036ef8fd189b0151f4fc3ba (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>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 2 |
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 | ||
