72e326f9c7defd73eab70d139dde8d867e3bd776
[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         uint32_t handle;
27         uint32_t 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         uint32_t handle;
34         uint32_t pad;
35         uint64_t offset;
36         uint64_t size;
37         uint64_t 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         uint64_t ptr;
44         uint32_t handle;
45         uint32_t offset;
46         uint32_t 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