1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | /* |
3 | * Copyright (C) 2012 Russell King |
4 | * With inspiration from the i915 driver |
5 | * |
6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. |
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 |
57 | |