void ttm_bo_unreserve(struct ttm_buffer_object *bo) { struct ttm_bo_global *glob = bo->glob; spin_lock(&glob->lru_lock); ttm_bo_add_to_lru(bo); atomic_set(&bo->reserved, 0); wake_up_all(&bo->event_queue); spin_unlock(&glob->lru_lock); }
static void ttm_eu_backoff_reservation_locked(struct list_head *list) { struct ttm_validate_buffer *entry; list_for_each_entry(entry, list, head) { struct ttm_buffer_object *bo = entry->bo; if (!entry->reserved) continue; entry->reserved = false; if (entry->removed) { ttm_bo_add_to_lru(bo); entry->removed = false; } __ttm_bo_unreserve(bo); } }
static void ttm_eu_backoff_reservation_locked(struct list_head *list) { struct ttm_validate_buffer *entry; list_for_each_entry(entry, list, head) { struct ttm_buffer_object *bo = entry->bo; if (!entry->reserved) continue; if (entry->removed) { ttm_bo_add_to_lru(bo); entry->removed = false; } entry->reserved = false; atomic_set(&bo->reserved, 0); wake_up_all(&bo->event_queue); } }
void ttm_bo_unreserve_locked(struct ttm_buffer_object *bo) { ttm_bo_add_to_lru(bo); atomic_set(&bo->reserved, 0); wake_up_all(&bo->event_queue); }