1
2
3
4
5
6
7
8
9
10 #ifndef DRM_ARMADA_IOCTL_H
11 #define DRM_ARMADA_IOCTL_H
12
13 #include "drm.h"
14
15 #if defined(__cplusplus)
16 extern "C" {
17 #endif
18
19 #define DRM_ARMADA_GEM_CREATE 0x00
20 #define DRM_ARMADA_GEM_MMAP 0x02
21 #define DRM_ARMADA_GEM_PWRITE 0x03
22
23 #define ARMADA_IOCTL(dir, name, str) \
24 DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
25
26 struct drm_armada_gem_create {
27 __u32 handle;
28 __u32 size;
29 };
30 #define DRM_IOCTL_ARMADA_GEM_CREATE \
31 ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
32
33 struct drm_armada_gem_mmap {
34 __u32 handle;
35 __u32 pad;
36 __u64 offset;
37 __u64 size;
38 __u64 addr;
39 };
40 #define DRM_IOCTL_ARMADA_GEM_MMAP \
41 ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
42
43 struct drm_armada_gem_pwrite {
44 __u64 ptr;
45 __u32 handle;
46 __u32 offset;
47 __u32 size;
48 };
49 #define DRM_IOCTL_ARMADA_GEM_PWRITE \
50 ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
51
52 #if defined(__cplusplus)
53 }
54 #endif
55
56 #endif