xref: /linux/include/uapi/drm/armada_drm.h (revision 41be702a542a0d14bb0b1c16e824fa9ed27616ec)
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 #define DRM_ARMADA_GEM_CREATE		0x00
13 #define DRM_ARMADA_GEM_MMAP		0x02
14 #define DRM_ARMADA_GEM_PWRITE		0x03
15 
16 #define ARMADA_IOCTL(dir, name, str) \
17 	DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str)
18 
19 struct drm_armada_gem_create {
20 	uint32_t handle;
21 	uint32_t size;
22 };
23 #define DRM_IOCTL_ARMADA_GEM_CREATE \
24 	ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create)
25 
26 struct drm_armada_gem_mmap {
27 	uint32_t handle;
28 	uint32_t pad;
29 	uint64_t offset;
30 	uint64_t size;
31 	uint64_t addr;
32 };
33 #define DRM_IOCTL_ARMADA_GEM_MMAP \
34 	ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap)
35 
36 struct drm_armada_gem_pwrite {
37 	uint64_t ptr;
38 	uint32_t handle;
39 	uint32_t offset;
40 	uint32_t size;
41 };
42 #define DRM_IOCTL_ARMADA_GEM_PWRITE \
43 	ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
44 
45 #endif
46