summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm2/drm_irq.c
diff options
context:
space:
mode:
authordumbbell <dumbbell@FreeBSD.org>2013-08-25 15:38:16 +0000
committerdumbbell <dumbbell@FreeBSD.org>2013-08-25 15:38:16 +0000
commitdf84fc5689c0d219811aacc791c406352ddea047 (patch)
tree88e73bbc65cdb59fd20d87c29712698d78ec6543 /sys/dev/drm2/drm_irq.c
parent34063ddb0513954db71f6422cb40fd59f32f0c6b (diff)
downloadFreeBSD-src-df84fc5689c0d219811aacc791c406352ddea047.zip
FreeBSD-src-df84fc5689c0d219811aacc791c406352ddea047.tar.gz
drm: Use the new drm_atomic.h, following the merge of projects/atomic64
Submitted by: jkim@
Diffstat (limited to 'sys/dev/drm2/drm_irq.c')
-rw-r--r--sys/dev/drm2/drm_irq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/drm2/drm_irq.c b/sys/dev/drm2/drm_irq.c
index 0324e8c..130c20f 100644
--- a/sys/dev/drm2/drm_irq.c
+++ b/sys/dev/drm2/drm_irq.c
@@ -786,7 +786,7 @@ int drm_vblank_get(struct drm_device *dev, int crtc)
mtx_lock(&dev->vbl_lock);
/* Going from 0->1 means we have to enable interrupts again */
- if (atomic_fetchadd_int(&dev->vblank_refcount[crtc], 1) == 0) {
+ if (atomic_add_return(1, &dev->vblank_refcount[crtc]) == 1) {
mtx_lock(&dev->vblank_time_lock);
if (!dev->vblank_enabled[crtc]) {
/* Enable vblank irqs under vblank_time_lock protection.
@@ -831,7 +831,7 @@ void drm_vblank_put(struct drm_device *dev, int crtc)
("Too many drm_vblank_put for crtc %d", crtc));
/* Last user schedules interrupt disable */
- if (atomic_fetchadd_int(&dev->vblank_refcount[crtc], -1) == 1 &&
+ if (atomic_dec_and_test(&dev->vblank_refcount[crtc]) &&
(drm_vblank_offdelay > 0))
callout_reset(&dev->vblank_disable_callout,
(drm_vblank_offdelay * DRM_HZ) / 1000,
OpenPOWER on IntegriCloud