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