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
11struct drm_mm_node;
12struct i915_address_space;
13struct i915_gem_ww_ctx;
14struct drm_i915_gem_object;
15
16int __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);
22int __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);
26int 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