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
18struct drm_i915_gem_object;
19
20struct i915_vma *intel_emit_vma_fill_blt(struct intel_context *ce,
21					 struct i915_vma *vma,
22					 u32 value);
23
24struct i915_vma *intel_emit_vma_copy_blt(struct intel_context *ce,
25					 struct i915_vma *src,
26					 struct i915_vma *dst);
27
28int intel_emit_vma_mark_active(struct i915_vma *vma, struct i915_request *rq);
29void intel_emit_vma_release(struct intel_context *ce, struct i915_vma *vma);
30
31int i915_gem_object_fill_blt(struct drm_i915_gem_object *obj,
32			     struct intel_context *ce,
33			     u32 value);
34
35int 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