1 /* SPDX-License-Identifier: MIT */
3 * Copyright © 2020 Intel Corporation
6 #ifndef __INTEL_MIGRATE__
7 #define __INTEL_MIGRATE__
9 #include <linux/types.h>
11 #include "intel_migrate_types.h"
16 struct i915_gem_ww_ctx;
20 int intel_migrate_init(struct intel_migrate *m, struct intel_gt *gt);
22 struct intel_context *intel_migrate_create_context(struct intel_migrate *m);
24 int intel_migrate_copy(struct intel_migrate *m,
25 struct i915_gem_ww_ctx *ww,
26 const struct i915_deps *deps,
27 struct scatterlist *src,
28 unsigned int src_pat_index,
30 struct scatterlist *dst,
31 unsigned int dst_pat_index,
33 struct i915_request **out);
35 int intel_context_migrate_copy(struct intel_context *ce,
36 const struct i915_deps *deps,
37 struct scatterlist *src,
38 unsigned int src_pat_index,
40 struct scatterlist *dst,
41 unsigned int dst_pat_index,
43 struct i915_request **out);
46 intel_migrate_clear(struct intel_migrate *m,
47 struct i915_gem_ww_ctx *ww,
48 const struct i915_deps *deps,
49 struct scatterlist *sg,
50 unsigned int pat_index,
53 struct i915_request **out);
55 intel_context_migrate_clear(struct intel_context *ce,
56 const struct i915_deps *deps,
57 struct scatterlist *sg,
58 unsigned int pat_index,
61 struct i915_request **out);
63 void intel_migrate_fini(struct intel_migrate *m);
65 #endif /* __INTEL_MIGRATE__ */