Loading drivers/gpu/drm/ttm/ttm_bo.c +6 −6 Original line number Diff line number Diff line Loading @@ -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; } } Loading @@ -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)) { Loading Loading @@ -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; Loading Loading @@ -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. Loading Loading @@ -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 || Loading include/drm/ttm/ttm_bo_api.h +14 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
drivers/gpu/drm/ttm/ttm_bo.c +6 −6 Original line number Diff line number Diff line Loading @@ -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; } } Loading @@ -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)) { Loading Loading @@ -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; Loading Loading @@ -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. Loading Loading @@ -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 || Loading
include/drm/ttm/ttm_bo_api.h +14 −0 Original line number Diff line number Diff line Loading @@ -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