Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/gem: Export drm_gem_lru_move_tail_locked()

Export the locked version or lru's move_tail().

Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/527835/
Link: https://lore.kernel.org/r/20230320144356.803762-7-robdclark@gmail.com

+11 -1
+10 -1
drivers/gpu/drm/drm_gem.c
··· 1337 1337 } 1338 1338 EXPORT_SYMBOL(drm_gem_lru_remove); 1339 1339 1340 - static void 1340 + /** 1341 + * drm_gem_lru_move_tail_locked - move the object to the tail of the LRU 1342 + * 1343 + * Like &drm_gem_lru_move_tail but lru lock must be held 1344 + * 1345 + * @lru: The LRU to move the object into. 1346 + * @obj: The GEM object to move into this LRU 1347 + */ 1348 + void 1341 1349 drm_gem_lru_move_tail_locked(struct drm_gem_lru *lru, struct drm_gem_object *obj) 1342 1350 { 1343 1351 lockdep_assert_held_once(lru->lock); ··· 1357 1349 list_add_tail(&obj->lru_node, &lru->list); 1358 1350 obj->lru = lru; 1359 1351 } 1352 + EXPORT_SYMBOL(drm_gem_lru_move_tail_locked); 1360 1353 1361 1354 /** 1362 1355 * drm_gem_lru_move_tail - move the object to the tail of the LRU
+1
include/drm/drm_gem.h
··· 485 485 486 486 void drm_gem_lru_init(struct drm_gem_lru *lru, struct mutex *lock); 487 487 void drm_gem_lru_remove(struct drm_gem_object *obj); 488 + void drm_gem_lru_move_tail_locked(struct drm_gem_lru *lru, struct drm_gem_object *obj); 488 489 void drm_gem_lru_move_tail(struct drm_gem_lru *lru, struct drm_gem_object *obj); 489 490 unsigned long drm_gem_lru_scan(struct drm_gem_lru *lru, unsigned nr_to_scan, 490 491 bool (*shrink)(struct drm_gem_object *obj));