Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 /*
0003  * Copyright © 2020 Intel Corporation
0004  */
0005 
0006 #ifndef __INTEL_MIGRATE__
0007 #define __INTEL_MIGRATE__
0008 
0009 #include <linux/types.h>
0010 
0011 #include "intel_migrate_types.h"
0012 
0013 struct dma_fence;
0014 struct i915_deps;
0015 struct i915_request;
0016 struct i915_gem_ww_ctx;
0017 struct intel_gt;
0018 struct scatterlist;
0019 enum i915_cache_level;
0020 
0021 int intel_migrate_init(struct intel_migrate *m, struct intel_gt *gt);
0022 
0023 struct intel_context *intel_migrate_create_context(struct intel_migrate *m);
0024 
0025 int intel_migrate_copy(struct intel_migrate *m,
0026                struct i915_gem_ww_ctx *ww,
0027                const struct i915_deps *deps,
0028                struct scatterlist *src,
0029                enum i915_cache_level src_cache_level,
0030                bool src_is_lmem,
0031                struct scatterlist *dst,
0032                enum i915_cache_level dst_cache_level,
0033                bool dst_is_lmem,
0034                struct i915_request **out);
0035 
0036 int intel_context_migrate_copy(struct intel_context *ce,
0037                    const struct i915_deps *deps,
0038                    struct scatterlist *src,
0039                    enum i915_cache_level src_cache_level,
0040                    bool src_is_lmem,
0041                    struct scatterlist *dst,
0042                    enum i915_cache_level dst_cache_level,
0043                    bool dst_is_lmem,
0044                    struct i915_request **out);
0045 
0046 int
0047 intel_migrate_clear(struct intel_migrate *m,
0048             struct i915_gem_ww_ctx *ww,
0049             const struct i915_deps *deps,
0050             struct scatterlist *sg,
0051             enum i915_cache_level cache_level,
0052             bool is_lmem,
0053             u32 value,
0054             struct i915_request **out);
0055 int
0056 intel_context_migrate_clear(struct intel_context *ce,
0057                 const struct i915_deps *deps,
0058                 struct scatterlist *sg,
0059                 enum i915_cache_level cache_level,
0060                 bool is_lmem,
0061                 u32 value,
0062                 struct i915_request **out);
0063 
0064 void intel_migrate_fini(struct intel_migrate *m);
0065 
0066 #endif /* __INTEL_MIGRATE__ */