#ifndef _XE_MIGRATE_
#define _XE_MIGRATE_
#include <linux/types.h>
struct dma_fence;
struct iosys_map;
struct ttm_resource;
struct xe_bo;
struct xe_gt;
struct xe_exec_queue;
struct xe_migrate;
struct xe_migrate_pt_update;
struct xe_sync_entry;
struct xe_pt;
struct xe_tile;
struct xe_vm;
struct xe_vm_pgtable_update;
struct xe_vma;
struct xe_migrate_pt_update_ops { … };
struct xe_migrate_pt_update { … };
struct xe_migrate *xe_migrate_init(struct xe_tile *tile);
struct dma_fence *xe_migrate_copy(struct xe_migrate *m,
struct xe_bo *src_bo,
struct xe_bo *dst_bo,
struct ttm_resource *src,
struct ttm_resource *dst,
bool copy_only_ccs);
#define XE_MIGRATE_CLEAR_FLAG_BO_DATA …
#define XE_MIGRATE_CLEAR_FLAG_CCS_DATA …
#define XE_MIGRATE_CLEAR_FLAG_FULL …
struct dma_fence *xe_migrate_clear(struct xe_migrate *m,
struct xe_bo *bo,
struct ttm_resource *dst,
u32 clear_flags);
struct xe_vm *xe_migrate_get_vm(struct xe_migrate *m);
struct dma_fence *
xe_migrate_update_pgtables(struct xe_migrate *m,
struct xe_migrate_pt_update *pt_update);
void xe_migrate_wait(struct xe_migrate *m);
struct xe_exec_queue *xe_tile_migrate_exec_queue(struct xe_tile *tile);
#endif