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 { 2696f60e37SRussell King uint32_t handle; 2796f60e37SRussell King uint32_t 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 { 3396f60e37SRussell King uint32_t handle; 3496f60e37SRussell King uint32_t pad; 3596f60e37SRussell King uint64_t offset; 3696f60e37SRussell King uint64_t size; 3796f60e37SRussell King uint64_t 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 { 4396f60e37SRussell King uint64_t ptr; 4496f60e37SRussell King uint32_t handle; 4596f60e37SRussell King uint32_t offset; 4696f60e37SRussell King uint32_t 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