1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright © 2019 Intel Corporation
5  */
6 
7 #ifndef __I915_GEM_MMAN_H__
8 #define __I915_GEM_MMAN_H__
9 
10 #include <linux/mm_types.h>
11 #include <linux/types.h>
12 
13 struct drm_device;
14 struct drm_file;
15 struct drm_i915_gem_object;
16 struct file;
17 struct i915_mmap_offset;
18 struct mutex;
19 
20 int i915_gem_mmap_gtt_version(void);
21 int i915_gem_mmap(struct file *filp, struct vm_area_struct *vma);
22 
23 int i915_gem_dumb_mmap_offset(struct drm_file *file_priv,
24 			      struct drm_device *dev,
25 			      u32 handle, u64 *offset);
26 
27 void __i915_gem_object_release_mmap_gtt(struct drm_i915_gem_object *obj);
28 void i915_gem_object_release_mmap_gtt(struct drm_i915_gem_object *obj);
29 
30 void i915_gem_object_runtime_pm_release_mmap_offset(struct drm_i915_gem_object *obj);
31 void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object *obj);
32 int i915_gem_fb_mmap(struct drm_i915_gem_object *obj, struct vm_area_struct *vma);
33 #endif
34