1*c56ce956SThomas Hellström /* SPDX-License-Identifier: MIT */
2*c56ce956SThomas Hellström /*
3*c56ce956SThomas Hellström  * Copyright © 2021 Intel Corporation
4*c56ce956SThomas Hellström  */
5*c56ce956SThomas Hellström 
6*c56ce956SThomas Hellström #ifndef _I915_GEM_TTM_PM_H_
7*c56ce956SThomas Hellström #define _I915_GEM_TTM_PM_H_
8*c56ce956SThomas Hellström 
9*c56ce956SThomas Hellström #include <linux/types.h>
10*c56ce956SThomas Hellström 
11*c56ce956SThomas Hellström struct intel_memory_region;
12*c56ce956SThomas Hellström struct drm_i915_gem_object;
13*c56ce956SThomas Hellström 
14*c56ce956SThomas Hellström #define I915_TTM_BACKUP_ALLOW_GPU BIT(0)
15*c56ce956SThomas Hellström #define I915_TTM_BACKUP_PINNED    BIT(1)
16*c56ce956SThomas Hellström 
17*c56ce956SThomas Hellström int i915_ttm_backup_region(struct intel_memory_region *mr, u32 flags);
18*c56ce956SThomas Hellström 
19*c56ce956SThomas Hellström void i915_ttm_recover_region(struct intel_memory_region *mr);
20*c56ce956SThomas Hellström 
21*c56ce956SThomas Hellström int i915_ttm_restore_region(struct intel_memory_region *mr, u32 flags);
22*c56ce956SThomas Hellström 
23*c56ce956SThomas Hellström /* Internal I915 TTM functions below. */
24*c56ce956SThomas Hellström void i915_ttm_backup_free(struct drm_i915_gem_object *obj);
25*c56ce956SThomas Hellström 
26*c56ce956SThomas Hellström #endif
27