196f60e37SRussell King /* 296f60e37SRussell King * Copyright (C) 2012 Russell King 396f60e37SRussell King * With inspiration from the i915 driver 496f60e37SRussell King * 596f60e37SRussell King * This program is free software; you can redistribute it and/or modify 696f60e37SRussell King * it under the terms of the GNU General Public License version 2 as 796f60e37SRussell King * published by the Free Software Foundation. 896f60e37SRussell King */ 996f60e37SRussell King #ifndef DRM_ARMADA_IOCTL_H 1096f60e37SRussell King #define DRM_ARMADA_IOCTL_H 1196f60e37SRussell King 126a14d01bSGabriel Laskar #include "drm.h" 136a14d01bSGabriel Laskar 1496f60e37SRussell King #define DRM_ARMADA_GEM_CREATE 0x00 1596f60e37SRussell King #define DRM_ARMADA_GEM_MMAP 0x02 1696f60e37SRussell King #define DRM_ARMADA_GEM_PWRITE 0x03 1796f60e37SRussell King 1896f60e37SRussell King #define ARMADA_IOCTL(dir, name, str) \ 1996f60e37SRussell King DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str) 2096f60e37SRussell King 2196f60e37SRussell King struct drm_armada_gem_create { 2296f60e37SRussell King uint32_t handle; 2396f60e37SRussell King uint32_t size; 2496f60e37SRussell King }; 2596f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_CREATE \ 2696f60e37SRussell King ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create) 2796f60e37SRussell King 2896f60e37SRussell King struct drm_armada_gem_mmap { 2996f60e37SRussell King uint32_t handle; 3096f60e37SRussell King uint32_t pad; 3196f60e37SRussell King uint64_t offset; 3296f60e37SRussell King uint64_t size; 3396f60e37SRussell King uint64_t addr; 3496f60e37SRussell King }; 3596f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_MMAP \ 3696f60e37SRussell King ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap) 3796f60e37SRussell King 3896f60e37SRussell King struct drm_armada_gem_pwrite { 3996f60e37SRussell King uint64_t ptr; 4096f60e37SRussell King uint32_t handle; 4196f60e37SRussell King uint32_t offset; 4296f60e37SRussell King uint32_t size; 4396f60e37SRussell King }; 4496f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_PWRITE \ 4596f60e37SRussell King ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite) 4696f60e37SRussell King 4796f60e37SRussell King #endif 48