| /* SPDX-License-Identifier: MIT */ |
| /* |
| * Copyright © 2019 Intel Corporation |
| */ |
| |
| #ifndef __I915_GEM_SHRINKER_H__ |
| #define __I915_GEM_SHRINKER_H__ |
| |
| #include <linux/bits.h> |
| |
| struct drm_i915_private; |
| struct i915_gem_ww_ctx; |
| struct mutex; |
| |
| /* i915_gem_shrinker.c */ |
| unsigned long i915_gem_shrink(struct i915_gem_ww_ctx *ww, |
| struct drm_i915_private *i915, |
| unsigned long target, |
| unsigned long *nr_scanned, |
| unsigned flags); |
| #define I915_SHRINK_UNBOUND BIT(0) |
| #define I915_SHRINK_BOUND BIT(1) |
| #define I915_SHRINK_ACTIVE BIT(2) |
| #define I915_SHRINK_VMAPS BIT(3) |
| #define I915_SHRINK_WRITEBACK BIT(4) |
| |
| unsigned long i915_gem_shrink_all(struct drm_i915_private *i915); |
| void i915_gem_driver_register__shrinker(struct drm_i915_private *i915); |
| void i915_gem_driver_unregister__shrinker(struct drm_i915_private *i915); |
| void i915_gem_shrinker_taints_mutex(struct drm_i915_private *i915, |
| struct mutex *mutex); |
| |
| #endif /* __I915_GEM_SHRINKER_H__ */ |