| /* SPDX-License-Identifier: MIT */ |
| /* |
| * Copyright © 2021 Intel Corporation |
| */ |
| #ifndef _I915_GEM_TTM_MOVE_H_ |
| #define _I915_GEM_TTM_MOVE_H_ |
| |
| #include <linux/types.h> |
| |
| #include "i915_selftest.h" |
| |
| struct ttm_buffer_object; |
| struct ttm_operation_ctx; |
| struct ttm_place; |
| struct ttm_resource; |
| struct ttm_tt; |
| |
| struct drm_i915_gem_object; |
| struct i915_refct_sgt; |
| |
| int i915_ttm_move_notify(struct ttm_buffer_object *bo); |
| |
| I915_SELFTEST_DECLARE(void i915_ttm_migrate_set_failure_modes(bool gpu_migration, |
| bool work_allocation)); |
| I915_SELFTEST_DECLARE(void i915_ttm_migrate_set_ban_memcpy(bool ban)); |
| |
| int i915_gem_obj_copy_ttm(struct drm_i915_gem_object *dst, |
| struct drm_i915_gem_object *src, |
| bool allow_accel, bool intr); |
| |
| /* Internal I915 TTM declarations and definitions below. */ |
| |
| int i915_ttm_move(struct ttm_buffer_object *bo, bool evict, |
| struct ttm_operation_ctx *ctx, |
| struct ttm_resource *dst_mem, |
| struct ttm_place *hop); |
| |
| void i915_ttm_adjust_domains_after_move(struct drm_i915_gem_object *obj); |
| |
| void i915_ttm_adjust_gem_after_move(struct drm_i915_gem_object *obj); |
| |
| #endif |