summaryrefslogtreecommitdiff
path: root/linux-core/drmP.h
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2008-06-03 11:28:10 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2008-06-03 11:28:10 +0200
commit237172b7670611b36d92be3b92983674846f6564 (patch)
treefd0715ad4ba06358b6c50298ed7881249cb2459b /linux-core/drmP.h
parentd1dcb2b32e0c51d7cbcaa2ba1e0544452cf8f47b (diff)
vblank: Clean up compensation for spurious wraparounds of driver counter.
Only compensate when the driver counter actually appears to have moved backwards. The compensation deltas need to be incremental instead of absolute; drop the vblank_offset field and just use atomic_sub().
Diffstat (limited to 'linux-core/drmP.h')
-rw-r--r--linux-core/drmP.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index 69d31e14..d7b1960c 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -840,13 +840,12 @@ struct drm_device {
atomic_t *vblank_refcount; /* number of users of vblank interrupts per crtc */
u32 *last_vblank; /* protected by dev->vbl_lock, used */
/* for wraparound handling */
- u32 *vblank_offset; /* used to track how many vblanks */
int *vblank_enabled; /* so we don't call enable more than
once per disable */
- u32 *vblank_premodeset; /* were lost during modeset */
+ u32 *vblank_premodeset; /* for compensation of spurious wraparounds */
struct timer_list vblank_disable_timer;
- unsigned long max_vblank_count; /**< size of vblank counter register */
+ u32 max_vblank_count; /**< size of vblank counter register */
spinlock_t tasklet_lock; /**< For drm_locked_tasklet */
void (*locked_tasklet_func)(struct drm_device *dev);