34 lines
973 B
C
34 lines
973 B
C
/* 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__ */
|