summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm2
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2013-08-29 22:46:21 +0000
committerjkim <jkim@FreeBSD.org>2013-08-29 22:46:21 +0000
commit8fcf363f032b0b2595dd377d8363ee2a9300571c (patch)
tree238311ee91cb1783c2861d7ccff5570e3e018fdc /sys/dev/drm2
parent5a498aa69f24778cb7ca5c6f3808c104cef72f74 (diff)
downloadFreeBSD-src-8fcf363f032b0b2595dd377d8363ee2a9300571c.zip
FreeBSD-src-8fcf363f032b0b2595dd377d8363ee2a9300571c.tar.gz
Partially revert r254880. The bitmap operations actually use long type now.
Diffstat (limited to 'sys/dev/drm2')
-rw-r--r--sys/dev/drm2/ttm/ttm_bo.c7
-rw-r--r--sys/dev/drm2/ttm/ttm_bo_util.c3
-rw-r--r--sys/dev/drm2/ttm/ttm_bo_vm.c3
3 files changed, 5 insertions, 8 deletions
diff --git a/sys/dev/drm2/ttm/ttm_bo.c b/sys/dev/drm2/ttm/ttm_bo.c
index f598748..3b13540 100644
--- a/sys/dev/drm2/ttm/ttm_bo.c
+++ b/sys/dev/drm2/ttm/ttm_bo.c
@@ -1723,8 +1723,7 @@ int ttm_bo_wait(struct ttm_buffer_object *bo,
if (driver->sync_obj_signaled(bo->sync_obj)) {
void *tmp_obj = bo->sync_obj;
bo->sync_obj = NULL;
- atomic_clear_long(&bo->priv_flags,
- 1UL << TTM_BO_PRIV_FLAG_MOVING);
+ clear_bit(TTM_BO_PRIV_FLAG_MOVING, &bo->priv_flags);
mtx_unlock(&bdev->fence_lock);
driver->sync_obj_unref(&tmp_obj);
mtx_lock(&bdev->fence_lock);
@@ -1747,8 +1746,8 @@ int ttm_bo_wait(struct ttm_buffer_object *bo,
if (likely(bo->sync_obj == sync_obj)) {
void *tmp_obj = bo->sync_obj;
bo->sync_obj = NULL;
- atomic_clear_long(&bo->priv_flags,
- 1UL << TTM_BO_PRIV_FLAG_MOVING);
+ clear_bit(TTM_BO_PRIV_FLAG_MOVING,
+ &bo->priv_flags);
mtx_unlock(&bdev->fence_lock);
driver->sync_obj_unref(&sync_obj);
driver->sync_obj_unref(&tmp_obj);
diff --git a/sys/dev/drm2/ttm/ttm_bo_util.c b/sys/dev/drm2/ttm/ttm_bo_util.c
index 15b4d48..aed8e0e 100644
--- a/sys/dev/drm2/ttm/ttm_bo_util.c
+++ b/sys/dev/drm2/ttm/ttm_bo_util.c
@@ -637,8 +637,7 @@ int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
* operation has completed.
*/
- atomic_set_long(&bo->priv_flags,
- 1UL << TTM_BO_PRIV_FLAG_MOVING);
+ set_bit(TTM_BO_PRIV_FLAG_MOVING, &bo->priv_flags);
mtx_unlock(&bdev->fence_lock);
if (tmp_obj)
driver->sync_obj_unref(&tmp_obj);
diff --git a/sys/dev/drm2/ttm/ttm_bo_vm.c b/sys/dev/drm2/ttm/ttm_bo_vm.c
index 8c64181..b87380c 100644
--- a/sys/dev/drm2/ttm/ttm_bo_vm.c
+++ b/sys/dev/drm2/ttm/ttm_bo_vm.c
@@ -153,8 +153,7 @@ reserve:
*/
mtx_lock(&bdev->fence_lock);
- if ((atomic_load_acq_long(&bo->priv_flags) &
- (1UL << TTM_BO_PRIV_FLAG_MOVING)) != 0) {
+ if (test_bit(TTM_BO_PRIV_FLAG_MOVING, &bo->priv_flags)) {
/*
* Here, the behavior differs between Linux and FreeBSD.
*
OpenPOWER on IntegriCloud