| 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 | |