forked from Minki/linux
be80bc3658
It used to be handy that we only had a couple of headers, but over time i915_drv.h has become unwieldy. Extract declarations to a separate header file corresponding to the implementation module, clarifying the modularity of the driver. Ensure the new header is self-contained, and do so with minimal further includes, using forward declarations as needed. Include the new header from i915_drv.h to avoid sprinkling includes all over the place; this can be changed as a follow-up if necessary. No functional changes. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/b8406f72ce5bfb8863a54003b756ebae8b17c9cb.1565271681.git.jani.nikula@intel.com
32 lines
912 B
C
32 lines
912 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 mutex;
|
|
|
|
/* i915_gem_shrinker.c */
|
|
unsigned long i915_gem_shrink(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__ */
|