1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23#ifndef __AMDGPU_GEM_H__
24#define __AMDGPU_GEM_H__
25
26#include <drm/amdgpu_drm.h>
27#include <drm/drm_gem.h>
28
29
30
31
32
33#define AMDGPU_GEM_DOMAIN_MAX 0x3
34#define gem_to_amdgpu_bo(gobj) container_of((gobj), struct amdgpu_bo, tbo.base)
35
36unsigned long amdgpu_gem_timeout(uint64_t timeout_ns);
37
38
39
40
41void amdgpu_gem_force_release(struct amdgpu_device *adev);
42int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,
43 int alignment, u32 initial_domain,
44 u64 flags, enum ttm_bo_type type,
45 struct dma_resv *resv,
46 struct drm_gem_object **obj);
47
48int amdgpu_mode_dumb_create(struct drm_file *file_priv,
49 struct drm_device *dev,
50 struct drm_mode_create_dumb *args);
51int amdgpu_mode_dumb_mmap(struct drm_file *filp,
52 struct drm_device *dev,
53 uint32_t handle, uint64_t *offset_p);
54
55int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data,
56 struct drm_file *filp);
57int amdgpu_gem_info_ioctl(struct drm_device *dev, void *data,
58 struct drm_file *filp);
59int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
60 struct drm_file *filp);
61int amdgpu_gem_mmap_ioctl(struct drm_device *dev, void *data,
62 struct drm_file *filp);
63int amdgpu_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
64 struct drm_file *filp);
65uint64_t amdgpu_gem_va_map_flags(struct amdgpu_device *adev, uint32_t flags);
66int amdgpu_gem_va_ioctl(struct drm_device *dev, void *data,
67 struct drm_file *filp);
68int amdgpu_gem_op_ioctl(struct drm_device *dev, void *data,
69 struct drm_file *filp);
70
71int amdgpu_gem_metadata_ioctl(struct drm_device *dev, void *data,
72 struct drm_file *filp);
73
74#endif
75