xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_object_blt.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
1 /*	$NetBSD: i915_gem_object_blt.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $	*/
2 
3 /* SPDX-License-Identifier: MIT */
4 /*
5  * Copyright © 2019 Intel Corporation
6  */
7 
8 #ifndef __I915_GEM_OBJECT_BLT_H__
9 #define __I915_GEM_OBJECT_BLT_H__
10 
11 #include <linux/types.h>
12 
13 #include "gt/intel_context.h"
14 #include "gt/intel_engine_pm.h"
15 #include "gt/intel_engine_pool.h"
16 #include "i915_vma.h"
17 
18 struct drm_i915_gem_object;
19 
20 struct i915_vma *intel_emit_vma_fill_blt(struct intel_context *ce,
21 					 struct i915_vma *vma,
22 					 u32 value);
23 
24 struct i915_vma *intel_emit_vma_copy_blt(struct intel_context *ce,
25 					 struct i915_vma *src,
26 					 struct i915_vma *dst);
27 
28 int intel_emit_vma_mark_active(struct i915_vma *vma, struct i915_request *rq);
29 void intel_emit_vma_release(struct intel_context *ce, struct i915_vma *vma);
30 
31 int i915_gem_object_fill_blt(struct drm_i915_gem_object *obj,
32 			     struct intel_context *ce,
33 			     u32 value);
34 
35 int i915_gem_object_copy_blt(struct drm_i915_gem_object *src,
36 			     struct drm_i915_gem_object *dst,
37 			     struct intel_context *ce);
38 
39 #endif
40