1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2021 Intel Corporation
4  */
5 
6 #ifndef __I915_GEM_EVICT_H__
7 #define __I915_GEM_EVICT_H__
8 
9 #include <linux/types.h>
10 
11 struct drm_mm_node;
12 struct i915_address_space;
13 struct i915_gem_ww_ctx;
14 struct drm_i915_gem_object;
15 
16 int __must_check i915_gem_evict_something(struct i915_address_space *vm,
17 					  struct i915_gem_ww_ctx *ww,
18 					  u64 min_size, u64 alignment,
19 					  unsigned long color,
20 					  u64 start, u64 end,
21 					  unsigned flags);
22 int __must_check i915_gem_evict_for_node(struct i915_address_space *vm,
23 					 struct i915_gem_ww_ctx *ww,
24 					 struct drm_mm_node *node,
25 					 unsigned int flags);
26 int i915_gem_evict_vm(struct i915_address_space *vm,
27 		      struct i915_gem_ww_ctx *ww,
28 		      struct drm_i915_gem_object **busy_bo);
29 
30 #endif /* __I915_GEM_EVICT_H__ */
31