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