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