43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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
 |