xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.h (revision 126d291d5730321555c154bf0ba5baf1ad388463)
1 /*	$NetBSD: i915_gem_mman.h,v 1.8 2021/12/19 11:56:52 riastradh Exp $	*/
2 
3 /*
4  * SPDX-License-Identifier: MIT
5  *
6  * Copyright © 2019 Intel Corporation
7  */
8 
9 #ifndef __I915_GEM_MMAN_H__
10 #define __I915_GEM_MMAN_H__
11 
12 #include <linux/mm_types.h>
13 #include <linux/types.h>
14 
15 struct drm_device;
16 struct drm_file;
17 struct drm_i915_gem_object;
18 struct file;
19 struct i915_mmap_offset;
20 struct mutex;
21 
22 int i915_gem_mmap_gtt_version(void);
23 #ifdef __NetBSD__
24 extern const struct uvm_pagerops i915_gem_uvm_ops;
25 int i915_gem_mmap_object(struct drm_device *, off_t, size_t, int,
26     struct uvm_object **, voff_t *, struct file *);
27 #else
28 int i915_gem_mmap(struct file *filp, struct vm_area_struct *vma);
29 #endif
30 
31 int i915_gem_dumb_mmap_offset(struct drm_file *file_priv,
32 			      struct drm_device *dev,
33 			      u32 handle, u64 *offset);
34 
35 void __i915_gem_object_release_mmap_gtt(struct drm_i915_gem_object *obj);
36 void i915_gem_object_release_mmap(struct drm_i915_gem_object *obj);
37 void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object *obj);
38 
39 #endif
40