summaryrefslogtreecommitdiff
path: root/bsd-core/drm_irq.c
diff options
context:
space:
mode:
authorRobert Noland <rnoland@2hip.net>2007-12-01 17:09:49 -0500
committerRobert Noland <rnoland@2hip.net>2007-12-01 17:23:09 -0500
commit787d500c15c964f2a715ea0c949177c1d38dc367 (patch)
tree24d40b34fc590eede7fd2cb96797cd0c076296be /bsd-core/drm_irq.c
parente6ca3f5754d649b6290ea017f815aeb18d565718 (diff)
bsd: Hook secondary vblank support.
Diffstat (limited to 'bsd-core/drm_irq.c')
-rw-r--r--bsd-core/drm_irq.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/bsd-core/drm_irq.c b/bsd-core/drm_irq.c
index 0772445a..a58307c5 100644
--- a/bsd-core/drm_irq.c
+++ b/bsd-core/drm_irq.c
@@ -244,8 +244,14 @@ int drm_wait_vblank(drm_device_t *dev, void *data, struct drm_file *file_priv)
} else {
DRM_LOCK();
/* shared code returns -errno */
- ret = -dev->driver.vblank_wait(dev,
- &vblwait->request.sequence);
+ if (flags & _DRM_VBLANK_SECONDARY) {
+ if (dev->driver.vblank_wait2)
+ ret = -dev->driver.vblank_wait2(dev,
+ &vblwait->request.sequence);
+ } else if (dev->driver.vblank_wait)
+ ret = -dev->driver.vblank_wait(dev,
+ &vblwait->request.sequence);
+
DRM_UNLOCK();
microtime(&now);