Lines Matching refs:lru

1370 drm_gem_lru_init(struct drm_gem_lru *lru, struct mutex *lock)  in drm_gem_lru_init()  argument
1372 lru->lock = lock; in drm_gem_lru_init()
1373 lru->count = 0; in drm_gem_lru_init()
1374 INIT_LIST_HEAD(&lru->list); in drm_gem_lru_init()
1381 obj->lru->count -= obj->size >> PAGE_SHIFT; in drm_gem_lru_remove_locked()
1382 WARN_ON(obj->lru->count < 0); in drm_gem_lru_remove_locked()
1384 obj->lru = NULL; in drm_gem_lru_remove_locked()
1397 struct drm_gem_lru *lru = obj->lru; in drm_gem_lru_remove() local
1399 if (!lru) in drm_gem_lru_remove()
1402 mutex_lock(lru->lock); in drm_gem_lru_remove()
1404 mutex_unlock(lru->lock); in drm_gem_lru_remove()
1417 drm_gem_lru_move_tail_locked(struct drm_gem_lru *lru, struct drm_gem_object *obj) in drm_gem_lru_move_tail_locked() argument
1419 lockdep_assert_held_once(lru->lock); in drm_gem_lru_move_tail_locked()
1421 if (obj->lru) in drm_gem_lru_move_tail_locked()
1424 lru->count += obj->size >> PAGE_SHIFT; in drm_gem_lru_move_tail_locked()
1425 list_add_tail(&obj->lru_node, &lru->list); in drm_gem_lru_move_tail_locked()
1426 obj->lru = lru; in drm_gem_lru_move_tail_locked()
1441 drm_gem_lru_move_tail(struct drm_gem_lru *lru, struct drm_gem_object *obj) in drm_gem_lru_move_tail() argument
1443 mutex_lock(lru->lock); in drm_gem_lru_move_tail()
1444 drm_gem_lru_move_tail_locked(lru, obj); in drm_gem_lru_move_tail()
1445 mutex_unlock(lru->lock); in drm_gem_lru_move_tail()
1465 drm_gem_lru_scan(struct drm_gem_lru *lru, in drm_gem_lru_scan() argument
1474 drm_gem_lru_init(&still_in_lru, lru->lock); in drm_gem_lru_scan()
1476 mutex_lock(lru->lock); in drm_gem_lru_scan()
1479 obj = list_first_entry_or_null(&lru->list, typeof(*obj), lru_node); in drm_gem_lru_scan()
1499 mutex_unlock(lru->lock); in drm_gem_lru_scan()
1519 WARN_ON(obj->lru == &still_in_lru); in drm_gem_lru_scan()
1520 WARN_ON(obj->lru == lru); in drm_gem_lru_scan()
1527 mutex_lock(lru->lock); in drm_gem_lru_scan()
1535 obj->lru = lru; in drm_gem_lru_scan()
1536 list_splice_tail(&still_in_lru.list, &lru->list); in drm_gem_lru_scan()
1537 lru->count += still_in_lru.count; in drm_gem_lru_scan()
1539 mutex_unlock(lru->lock); in drm_gem_lru_scan()