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 141224649aSEmil Velikov #if defined(__cplusplus) 151224649aSEmil Velikov extern "C" { 161224649aSEmil Velikov #endif 171224649aSEmil Velikov 1896f60e37SRussell King #define DRM_ARMADA_GEM_CREATE 0x00 1996f60e37SRussell King #define DRM_ARMADA_GEM_MMAP 0x02 2096f60e37SRussell King #define DRM_ARMADA_GEM_PWRITE 0x03 2196f60e37SRussell King 2296f60e37SRussell King #define ARMADA_IOCTL(dir, name, str) \ 2396f60e37SRussell King DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str) 2496f60e37SRussell King 2596f60e37SRussell King struct drm_armada_gem_create { 26adb8a5a5SMikko Rapeli __u32 handle; 27adb8a5a5SMikko Rapeli __u32 size; 2896f60e37SRussell King }; 2996f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_CREATE \ 3096f60e37SRussell King ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create) 3196f60e37SRussell King 3296f60e37SRussell King struct drm_armada_gem_mmap { 33adb8a5a5SMikko Rapeli __u32 handle; 34adb8a5a5SMikko Rapeli __u32 pad; 35adb8a5a5SMikko Rapeli __u64 offset; 36adb8a5a5SMikko Rapeli __u64 size; 37adb8a5a5SMikko Rapeli __u64 addr; 3896f60e37SRussell King }; 3996f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_MMAP \ 4096f60e37SRussell King ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap) 4196f60e37SRussell King 4296f60e37SRussell King struct drm_armada_gem_pwrite { 43adb8a5a5SMikko Rapeli __u64 ptr; 44adb8a5a5SMikko Rapeli __u32 handle; 45adb8a5a5SMikko Rapeli __u32 offset; 46adb8a5a5SMikko Rapeli __u32 size; 4796f60e37SRussell King }; 4896f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_PWRITE \ 4996f60e37SRussell King ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite) 5096f60e37SRussell King 511224649aSEmil Velikov #if defined(__cplusplus) 521224649aSEmil Velikov } 531224649aSEmil Velikov #endif 541224649aSEmil Velikov 5596f60e37SRussell King #endif 56