0cb932416cfea4ac5f24e319bd883cace23ea08b
[sfrench/cifs-2.6.git] / include / uapi / drm / armada_drm.h
1 /*
2  * Copyright (C) 2012 Russell King
3  *  With inspiration from the i915 driver
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  */
9 #ifndef DRM_ARMADA_IOCTL_H
10 #define DRM_ARMADA_IOCTL_H
11
12 #include "drm.h"
13
14 #if defined(__cplusplus)
15 extern "C" {
16 #endif
17
18 #define DRM_ARMADA_GEM_CREATE           0x00
19 #define DRM_ARMADA_GEM_MMAP             0x02
20 #define DRM_ARMADA_GEM_PWRITE           0x03
21
22 #define ARMADA_IOCTL(dir, name, str) \
23         DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
24
25 struct drm_armada_gem_create {
26         __u32 handle;
27         __u32 size;
28 };
29 #define DRM_IOCTL_ARMADA_GEM_CREATE \
30         ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
31
32 struct drm_armada_gem_mmap {
33         __u32 handle;
34         __u32 pad;
35         __u64 offset;
36         __u64 size;
37         __u64 addr;
38 };
39 #define DRM_IOCTL_ARMADA_GEM_MMAP \
40         ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
41
42 struct drm_armada_gem_pwrite {
43         __u64 ptr;
44         __u32 handle;
45         __u32 offset;
46         __u32 size;
47 };
48 #define DRM_IOCTL_ARMADA_GEM_PWRITE \
49         ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
50
51 #if defined(__cplusplus)
52 }
53 #endif
54
55 #endif