Linux Audio

Check our new training course

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__ */