diff options
author | vehemens <vehemens@verizon.net> | 2008-08-13 17:19:35 -0400 |
---|---|---|
committer | Robert Noland <rnoland@2hip.net> | 2008-08-24 15:25:19 -0400 |
commit | 3e9541230d7b7c32ecb36c1edc5124b6991222be (patch) | |
tree | 70583fa37c94b46c3ed53da67d10cf5698d6357f /bsd-core/drmP.h | |
parent | e6010778a8edf96dbfb4bc1f7cf0ce5706eee733 (diff) |
[FreeBSD] Move vblank bits into their own structure.
Signed-off-by: Robert Noland <rnoland@2hip.net>
Diffstat (limited to 'bsd-core/drmP.h')
-rw-r--r-- | bsd-core/drmP.h | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/bsd-core/drmP.h b/bsd-core/drmP.h index 326b2202..473427f3 100644 --- a/bsd-core/drmP.h +++ b/bsd-core/drmP.h @@ -608,6 +608,19 @@ typedef struct drm_vbl_sig { int pid; } drm_vbl_sig_t; +struct drm_vblank_info { + wait_queue_head_t queue; /* vblank wait queue */ + atomic_t count; /* number of VBLANK interrupts */ + /* (driver must alloc the right number of counters) */ + struct drm_vbl_sig_list sigs; /* signal list to send on VBLANK */ + atomic_t refcount; /* number of users of vblank interrupts */ + u32 last; /* protected by dev->vbl_lock, used */ + /* for wraparound handling */ + int enabled; /* so we don't call enable more than */ + /* once per disable */ + int inmodeset; /* Display driver is setting mode */ +}; + /* location of GART table */ #define DRM_ATI_GART_MAIN 1 #define DRM_ATI_GART_FB 2 @@ -787,20 +800,12 @@ struct drm_device { atomic_t context_flag; /* Context swapping flag */ int last_context; /* Last current context */ + int vblank_disable_allowed; - wait_queue_head_t *vbl_queue; /* vblank wait queue */ - atomic_t *_vblank_count; /* number of VBLANK interrupts */ - /* (driver must alloc the right number of counters) */ - struct drm_vbl_sig_list *vbl_sigs; /* signal list to send on VBLANK */ - atomic_t vbl_signal_pending; /* number of signals pending on all crtcs*/ - atomic_t *vblank_refcount; /* number of users of vblank interrupts per crtc */ - u32 *last_vblank; /* protected by dev->vbl_lock, used */ - /* for wraparound handling */ - int *vblank_enabled; /* so we don't call enable more than */ - /* once per disable */ - int *vblank_inmodeset; /* Display driver is setting mode */ + atomic_t vbl_signal_pending; /* number of signals pending on all crtcs */ struct callout vblank_disable_timer; u32 max_vblank_count; /* size of vblank counter register */ + struct drm_vblank_info *vblank; /* per crtc vblank info */ int num_crtcs; #ifdef __FreeBSD__ |