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