Loading...
Note: File does not exist in v4.6.
1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2020 Intel Corporation
4 */
5
6#ifndef __INTEL_MIGRATE__
7#define __INTEL_MIGRATE__
8
9#include <linux/types.h>
10
11#include "intel_migrate_types.h"
12
13struct dma_fence;
14struct i915_deps;
15struct i915_request;
16struct i915_gem_ww_ctx;
17struct intel_gt;
18struct scatterlist;
19enum i915_cache_level;
20
21int intel_migrate_init(struct intel_migrate *m, struct intel_gt *gt);
22
23struct intel_context *intel_migrate_create_context(struct intel_migrate *m);
24
25int intel_migrate_copy(struct intel_migrate *m,
26 struct i915_gem_ww_ctx *ww,
27 const struct i915_deps *deps,
28 struct scatterlist *src,
29 enum i915_cache_level src_cache_level,
30 bool src_is_lmem,
31 struct scatterlist *dst,
32 enum i915_cache_level dst_cache_level,
33 bool dst_is_lmem,
34 struct i915_request **out);
35
36int intel_context_migrate_copy(struct intel_context *ce,
37 const struct i915_deps *deps,
38 struct scatterlist *src,
39 enum i915_cache_level src_cache_level,
40 bool src_is_lmem,
41 struct scatterlist *dst,
42 enum i915_cache_level dst_cache_level,
43 bool dst_is_lmem,
44 struct i915_request **out);
45
46int
47intel_migrate_clear(struct intel_migrate *m,
48 struct i915_gem_ww_ctx *ww,
49 const struct i915_deps *deps,
50 struct scatterlist *sg,
51 enum i915_cache_level cache_level,
52 bool is_lmem,
53 u32 value,
54 struct i915_request **out);
55int
56intel_context_migrate_clear(struct intel_context *ce,
57 const struct i915_deps *deps,
58 struct scatterlist *sg,
59 enum i915_cache_level cache_level,
60 bool is_lmem,
61 u32 value,
62 struct i915_request **out);
63
64void intel_migrate_fini(struct intel_migrate *m);
65
66#endif /* __INTEL_MIGRATE__ */