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