Home | History | Annotate | Line # | Download | only in gem
      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