linux/drivers/gpu/drm/i915/gem/i915_gem_shrinker.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: MIT */
   2/*
   3 * Copyright © 2019 Intel Corporation
   4 */
   5
   6#ifndef __I915_GEM_SHRINKER_H__
   7#define __I915_GEM_SHRINKER_H__
   8
   9#include <linux/bits.h>
  10
  11struct drm_i915_private;
  12struct mutex;
  13
  14/* i915_gem_shrinker.c */
  15unsigned long i915_gem_shrink(struct drm_i915_private *i915,
  16                              unsigned long target,
  17                              unsigned long *nr_scanned,
  18                              unsigned flags);
  19#define I915_SHRINK_UNBOUND     BIT(0)
  20#define I915_SHRINK_BOUND       BIT(1)
  21#define I915_SHRINK_ACTIVE      BIT(2)
  22#define I915_SHRINK_VMAPS       BIT(3)
  23#define I915_SHRINK_WRITEBACK   BIT(4)
  24
  25unsigned long i915_gem_shrink_all(struct drm_i915_private *i915);
  26void i915_gem_driver_register__shrinker(struct drm_i915_private *i915);
  27void i915_gem_driver_unregister__shrinker(struct drm_i915_private *i915);
  28void i915_gem_shrinker_taints_mutex(struct drm_i915_private *i915,
  29                                    struct mutex *mutex);
  30
  31#endif /* __I915_GEM_SHRINKER_H__ */
  32