1*d83cc019SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*d83cc019SAndroid Build Coastguard Worker /* 3*d83cc019SAndroid Build Coastguard Worker * Copyright (C) 2012 Russell King 4*d83cc019SAndroid Build Coastguard Worker * With inspiration from the i915 driver 5*d83cc019SAndroid Build Coastguard Worker * 6*d83cc019SAndroid Build Coastguard Worker * This program is free software; you can redistribute it and/or modify 7*d83cc019SAndroid Build Coastguard Worker * it under the terms of the GNU General Public License version 2 as 8*d83cc019SAndroid Build Coastguard Worker * published by the Free Software Foundation. 9*d83cc019SAndroid Build Coastguard Worker */ 10*d83cc019SAndroid Build Coastguard Worker #ifndef DRM_ARMADA_IOCTL_H 11*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_IOCTL_H 12*d83cc019SAndroid Build Coastguard Worker 13*d83cc019SAndroid Build Coastguard Worker #include "drm.h" 14*d83cc019SAndroid Build Coastguard Worker 15*d83cc019SAndroid Build Coastguard Worker #if defined(__cplusplus) 16*d83cc019SAndroid Build Coastguard Worker extern "C" { 17*d83cc019SAndroid Build Coastguard Worker #endif 18*d83cc019SAndroid Build Coastguard Worker 19*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_GEM_CREATE 0x00 20*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_GEM_MMAP 0x02 21*d83cc019SAndroid Build Coastguard Worker #define DRM_ARMADA_GEM_PWRITE 0x03 22*d83cc019SAndroid Build Coastguard Worker 23*d83cc019SAndroid Build Coastguard Worker #define ARMADA_IOCTL(dir, name, str) \ 24*d83cc019SAndroid Build Coastguard Worker DRM_##dir(DRM_COMMAND_BASE + DRM_ARMADA_##name, struct drm_armada_##str) 25*d83cc019SAndroid Build Coastguard Worker 26*d83cc019SAndroid Build Coastguard Worker struct drm_armada_gem_create { 27*d83cc019SAndroid Build Coastguard Worker __u32 handle; 28*d83cc019SAndroid Build Coastguard Worker __u32 size; 29*d83cc019SAndroid Build Coastguard Worker }; 30*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_ARMADA_GEM_CREATE \ 31*d83cc019SAndroid Build Coastguard Worker ARMADA_IOCTL(IOWR, GEM_CREATE, gem_create) 32*d83cc019SAndroid Build Coastguard Worker 33*d83cc019SAndroid Build Coastguard Worker struct drm_armada_gem_mmap { 34*d83cc019SAndroid Build Coastguard Worker __u32 handle; 35*d83cc019SAndroid Build Coastguard Worker __u32 pad; 36*d83cc019SAndroid Build Coastguard Worker __u64 offset; 37*d83cc019SAndroid Build Coastguard Worker __u64 size; 38*d83cc019SAndroid Build Coastguard Worker __u64 addr; 39*d83cc019SAndroid Build Coastguard Worker }; 40*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_ARMADA_GEM_MMAP \ 41*d83cc019SAndroid Build Coastguard Worker ARMADA_IOCTL(IOWR, GEM_MMAP, gem_mmap) 42*d83cc019SAndroid Build Coastguard Worker 43*d83cc019SAndroid Build Coastguard Worker struct drm_armada_gem_pwrite { 44*d83cc019SAndroid Build Coastguard Worker __u64 ptr; 45*d83cc019SAndroid Build Coastguard Worker __u32 handle; 46*d83cc019SAndroid Build Coastguard Worker __u32 offset; 47*d83cc019SAndroid Build Coastguard Worker __u32 size; 48*d83cc019SAndroid Build Coastguard Worker }; 49*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_ARMADA_GEM_PWRITE \ 50*d83cc019SAndroid Build Coastguard Worker ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite) 51*d83cc019SAndroid Build Coastguard Worker 52*d83cc019SAndroid Build Coastguard Worker #if defined(__cplusplus) 53*d83cc019SAndroid Build Coastguard Worker } 54*d83cc019SAndroid Build Coastguard Worker #endif 55*d83cc019SAndroid Build Coastguard Worker 56*d83cc019SAndroid Build Coastguard Worker #endif 57