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