aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/drm/ttm
diff options
context:
space:
mode:
authorHuang Rui <ray.huang@amd.com>2018-08-06 17:28:35 +0800
committerAlex Deucher <alexander.deucher@amd.com>2018-08-27 11:11:21 -0500
commit7748e2dcdaad901776c0d78e76e066403e95513c (patch)
treee8a8ee0313a5c957f2c5a5bf772b171d882f1d7f /include/drm/ttm
parentdrm/ttm: revise ttm_bo_move_to_lru_tail to support bulk moves (diff)
downloadwireguard-linux-7748e2dcdaad901776c0d78e76e066403e95513c.tar.xz
wireguard-linux-7748e2dcdaad901776c0d78e76e066403e95513c.zip
drm/ttm: add bulk move function on LRU
This function allow us to bulk move a group of BOs to the tail of their LRU. The positions of group of BOs are stored on the (first, last) bulk_move_pos structure. Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Huang Rui <ray.huang@amd.com> Tested-by: Mike Lothian <mike@fireburn.co.uk> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Acked-by: Chunming Zhou <david1.zhou@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'include/drm/ttm')
-rw-r--r--include/drm/ttm/ttm_bo_api.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
index 0d4eb81423ee..8c19470785e2 100644
--- a/include/drm/ttm/ttm_bo_api.h
+++ b/include/drm/ttm/ttm_bo_api.h
@@ -417,6 +417,16 @@ void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo,
struct ttm_lru_bulk_move *bulk);
/**
+ * ttm_bo_bulk_move_lru_tail
+ *
+ * @bulk: bulk move structure
+ *
+ * Bulk move BOs to the LRU tail, only valid to use when driver makes sure that
+ * BO order never changes. Should be called with ttm_bo_global::lru_lock held.
+ */
+void ttm_bo_bulk_move_lru_tail(struct ttm_lru_bulk_move *bulk);
+
+/**
* ttm_bo_lock_delayed_workqueue
*
* Prevent the delayed workqueue from running.