[Intel-gfx] [PATCH] i915: apply G45 vblank count code to all G4x chips
Jesse Barnes
jbarnes at virtuousgeek.org
Tue May 5 19:44:52 CEST 2009
On Sat, 02 May 2009 11:32:02 -0500
Robert Noland <rnoland at 2hip.net> wrote:
> On Fri, 2009-02-06 at 10:22 -0800, Jesse Barnes wrote:
> > As discussed in the long thread about vblank related timeouts, it
> > turns out GM45 has different frame count registers than previous
> > chips. This patch adds support for them, which prevents us from
> > waiting on really stale sequence values in drm_wait_vblank (which
> > rather than returning immediately ends up timing out or getting
> > interrupted).
>
> I'm not seeing this patch in drm-next... It looks like this register
> should be used for all G4X chips, not just GM45. The counter on my
> G45 (2E22) was counting really fast using the old method. Using this
> register the values seem correct. The docs appear to hold up this
> argument as well I think (devELK).
>
> Running gears synced to vblank was working since vblanks just stay on.
> If vblanks are being switched on and off, (rotating the cube in
> compiz) I was seeing really bad behavior after a few minutes.
>
> Also note that in this case max_vblank_count is 32 bits, not 24. I'm
> setting that value at the same time that I set the function now.
Yes it should be for G4x. Patch below.
--
Initially, we thought just the GM45 had a different vblank counter
register, but now we now the same layout applies to all G4x chips, so
use the same get_vblank_counter function on the whole series.
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 051134c..d84e4b0 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1153,7 +1153,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long
#endif
dev->driver->get_vblank_counter = i915_get_vblank_counter;
- if (IS_GM45(dev))
+ if (IS_G4X(dev))
dev->driver->get_vblank_counter = gm45_get_vblank_counter;
i915_gem_load(dev);
More information about the Intel-gfx
mailing list