1e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 296f60e37SRussell King /* 396f60e37SRussell King * Copyright (C) 2012 Russell King 496f60e37SRussell King * With inspiration from the i915 driver 596f60e37SRussell King * 696f60e37SRussell King * This program is free software; you can redistribute it and/or modify 796f60e37SRussell King * it under the terms of the GNU General Public License version 2 as 896f60e37SRussell King * published by the Free Software Foundation. 996f60e37SRussell King */ 1096f60e37SRussell King #ifndef DRM_ARMADA_IOCTL_H 1196f60e37SRussell King #define DRM_ARMADA_IOCTL_H 1296f60e37SRussell King 136a14d01bSGabriel Laskar #include "drm.h" 146a14d01bSGabriel Laskar 151224649aSEmil Velikov #if defined(__cplusplus) 161224649aSEmil Velikov extern "C" { 171224649aSEmil Velikov #endif 181224649aSEmil Velikov 1996f60e37SRussell King #define DRM_ARMADA_GEM_CREATE 0x00 2096f60e37SRussell King #define DRM_ARMADA_GEM_MMAP 0x02 2196f60e37SRussell King #define DRM_ARMADA_GEM_PWRITE 0x03 2296f60e37SRussell King 2396f60e37SRussell King #define ARMADA_IOCTL(dir, name, str) \ 2496f60e37SRussell King DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str) 2596f60e37SRussell King 2696f60e37SRussell King struct drm_armada_gem_create { 27adb8a5a5SMikko Rapeli __u32 handle; 28adb8a5a5SMikko Rapeli __u32 size; 2996f60e37SRussell King }; 3096f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_CREATE \ 3196f60e37SRussell King ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create) 3296f60e37SRussell King 3396f60e37SRussell King struct drm_armada_gem_mmap { 34adb8a5a5SMikko Rapeli __u32 handle; 35adb8a5a5SMikko Rapeli __u32 pad; 36adb8a5a5SMikko Rapeli __u64 offset; 37adb8a5a5SMikko Rapeli __u64 size; 38adb8a5a5SMikko Rapeli __u64 addr; 3996f60e37SRussell King }; 4096f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_MMAP \ 4196f60e37SRussell King ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap) 4296f60e37SRussell King 4396f60e37SRussell King struct drm_armada_gem_pwrite { 44adb8a5a5SMikko Rapeli __u64 ptr; 45adb8a5a5SMikko Rapeli __u32 handle; 46adb8a5a5SMikko Rapeli __u32 offset; 47adb8a5a5SMikko Rapeli __u32 size; 4896f60e37SRussell King }; 4996f60e37SRussell King #define DRM_IOCTL_ARMADA_GEM_PWRITE \ 5096f60e37SRussell King ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite) 5196f60e37SRussell King 521224649aSEmil Velikov #if defined(__cplusplus) 531224649aSEmil Velikov } 541224649aSEmil Velikov #endif 551224649aSEmil Velikov 5696f60e37SRussell King #endif 57