Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 345063
b: refs/heads/master
c: a9dbfff
h: refs/heads/master
i:
  345061: 7f78595
  345059: 8a7ddae
  345055: 0b721b4
v: v3
  • Loading branch information
Maarten Lankhorst authored and Dave Airlie committed Nov 7, 2012
1 parent 4a212e3 commit 86c4adc
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c4a56750ecbf2421ebd39f0fec562e1869a38d53
refs/heads/master: a9dbfff1cbe5972ae0ef07b51530a70240ec9f2c
12 changes: 6 additions & 6 deletions trunk/drivers/gpu/drm/ttm/ttm_bo.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,9 @@ int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, bool interruptible)
{
if (interruptible) {
return wait_event_interruptible(bo->event_queue,
atomic_read(&bo->reserved) == 0);
!ttm_bo_is_reserved(bo));
} else {
wait_event(bo->event_queue, atomic_read(&bo->reserved) == 0);
wait_event(bo->event_queue, !ttm_bo_is_reserved(bo));
return 0;
}
}
Expand All @@ -175,7 +175,7 @@ void ttm_bo_add_to_lru(struct ttm_buffer_object *bo)
struct ttm_bo_device *bdev = bo->bdev;
struct ttm_mem_type_manager *man;

BUG_ON(!atomic_read(&bo->reserved));
BUG_ON(!ttm_bo_is_reserved(bo));

if (!(bo->mem.placement & TTM_PL_FLAG_NO_EVICT)) {

Expand Down Expand Up @@ -756,7 +756,7 @@ static int ttm_bo_evict(struct ttm_buffer_object *bo, bool interruptible,
goto out;
}

BUG_ON(!atomic_read(&bo->reserved));
BUG_ON(!ttm_bo_is_reserved(bo));

evict_mem = bo->mem;
evict_mem.mm_node = NULL;
Expand Down Expand Up @@ -1073,7 +1073,7 @@ int ttm_bo_move_buffer(struct ttm_buffer_object *bo,
struct ttm_mem_reg mem;
struct ttm_bo_device *bdev = bo->bdev;

BUG_ON(!atomic_read(&bo->reserved));
BUG_ON(!ttm_bo_is_reserved(bo));

/*
* FIXME: It's possible to pipeline buffer moves.
Expand Down Expand Up @@ -1130,7 +1130,7 @@ int ttm_bo_validate(struct ttm_buffer_object *bo,
{
int ret;

BUG_ON(!atomic_read(&bo->reserved));
BUG_ON(!ttm_bo_is_reserved(bo));
/* Check that range is valid */
if (placement->lpfn || placement->fpfn)
if (placement->fpfn > placement->lpfn ||
Expand Down
14 changes: 14 additions & 0 deletions trunk/include/drm/ttm/ttm_bo_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -736,4 +736,18 @@ extern ssize_t ttm_bo_io(struct ttm_bo_device *bdev, struct file *filp,

extern void ttm_bo_swapout_all(struct ttm_bo_device *bdev);

/**
* ttm_bo_is_reserved - return an indication if a ttm buffer object is reserved
*
* @bo: The buffer object to check.
*
* This function returns an indication if a bo is reserved or not, and should
* only be used to print an error when it is not from incorrect api usage, since
* there's no guarantee that it is the caller that is holding the reservation.
*/
static inline bool ttm_bo_is_reserved(struct ttm_buffer_object *bo)
{
return atomic_read(&bo->reserved);
}

#endif

0 comments on commit 86c4adc

Please sign in to comment.