1*d83cc019SAndroid Build Coastguard Worker /* 2*d83cc019SAndroid Build Coastguard Worker * Copyright (c) 2012-2013, NVIDIA CORPORATION. All rights reserved. 3*d83cc019SAndroid Build Coastguard Worker * 4*d83cc019SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a 5*d83cc019SAndroid Build Coastguard Worker * copy of this software and associated documentation files (the "Software"), 6*d83cc019SAndroid Build Coastguard Worker * to deal in the Software without restriction, including without limitation 7*d83cc019SAndroid Build Coastguard Worker * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*d83cc019SAndroid Build Coastguard Worker * and/or sell copies of the Software, and to permit persons to whom the 9*d83cc019SAndroid Build Coastguard Worker * Software is furnished to do so, subject to the following conditions: 10*d83cc019SAndroid Build Coastguard Worker * 11*d83cc019SAndroid Build Coastguard Worker * The above copyright notice and this permission notice shall be included in 12*d83cc019SAndroid Build Coastguard Worker * all copies or substantial portions of the Software. 13*d83cc019SAndroid Build Coastguard Worker * 14*d83cc019SAndroid Build Coastguard Worker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*d83cc019SAndroid Build Coastguard Worker * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*d83cc019SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*d83cc019SAndroid Build Coastguard Worker * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18*d83cc019SAndroid Build Coastguard Worker * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19*d83cc019SAndroid Build Coastguard Worker * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20*d83cc019SAndroid Build Coastguard Worker * OTHER DEALINGS IN THE SOFTWARE. 21*d83cc019SAndroid Build Coastguard Worker */ 22*d83cc019SAndroid Build Coastguard Worker 23*d83cc019SAndroid Build Coastguard Worker #ifndef _TEGRA_DRM_H_ 24*d83cc019SAndroid Build Coastguard Worker #define _TEGRA_DRM_H_ 25*d83cc019SAndroid Build Coastguard Worker 26*d83cc019SAndroid Build Coastguard Worker #include "drm.h" 27*d83cc019SAndroid Build Coastguard Worker 28*d83cc019SAndroid Build Coastguard Worker #if defined(__cplusplus) 29*d83cc019SAndroid Build Coastguard Worker extern "C" { 30*d83cc019SAndroid Build Coastguard Worker #endif 31*d83cc019SAndroid Build Coastguard Worker 32*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_CREATE_TILED (1 << 0) 33*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_CREATE_BOTTOM_UP (1 << 1) 34*d83cc019SAndroid Build Coastguard Worker 35*d83cc019SAndroid Build Coastguard Worker /** 36*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_gem_create - parameters for the GEM object creation IOCTL 37*d83cc019SAndroid Build Coastguard Worker */ 38*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_gem_create { 39*d83cc019SAndroid Build Coastguard Worker /** 40*d83cc019SAndroid Build Coastguard Worker * @size: 41*d83cc019SAndroid Build Coastguard Worker * 42*d83cc019SAndroid Build Coastguard Worker * The size, in bytes, of the buffer object to be created. 43*d83cc019SAndroid Build Coastguard Worker */ 44*d83cc019SAndroid Build Coastguard Worker __u64 size; 45*d83cc019SAndroid Build Coastguard Worker 46*d83cc019SAndroid Build Coastguard Worker /** 47*d83cc019SAndroid Build Coastguard Worker * @flags: 48*d83cc019SAndroid Build Coastguard Worker * 49*d83cc019SAndroid Build Coastguard Worker * A bitmask of flags that influence the creation of GEM objects: 50*d83cc019SAndroid Build Coastguard Worker * 51*d83cc019SAndroid Build Coastguard Worker * DRM_TEGRA_GEM_CREATE_TILED 52*d83cc019SAndroid Build Coastguard Worker * Use the 16x16 tiling format for this buffer. 53*d83cc019SAndroid Build Coastguard Worker * 54*d83cc019SAndroid Build Coastguard Worker * DRM_TEGRA_GEM_CREATE_BOTTOM_UP 55*d83cc019SAndroid Build Coastguard Worker * The buffer has a bottom-up layout. 56*d83cc019SAndroid Build Coastguard Worker */ 57*d83cc019SAndroid Build Coastguard Worker __u32 flags; 58*d83cc019SAndroid Build Coastguard Worker 59*d83cc019SAndroid Build Coastguard Worker /** 60*d83cc019SAndroid Build Coastguard Worker * @handle: 61*d83cc019SAndroid Build Coastguard Worker * 62*d83cc019SAndroid Build Coastguard Worker * The handle of the created GEM object. Set by the kernel upon 63*d83cc019SAndroid Build Coastguard Worker * successful completion of the IOCTL. 64*d83cc019SAndroid Build Coastguard Worker */ 65*d83cc019SAndroid Build Coastguard Worker __u32 handle; 66*d83cc019SAndroid Build Coastguard Worker }; 67*d83cc019SAndroid Build Coastguard Worker 68*d83cc019SAndroid Build Coastguard Worker /** 69*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_gem_mmap - parameters for the GEM mmap IOCTL 70*d83cc019SAndroid Build Coastguard Worker */ 71*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_gem_mmap { 72*d83cc019SAndroid Build Coastguard Worker /** 73*d83cc019SAndroid Build Coastguard Worker * @handle: 74*d83cc019SAndroid Build Coastguard Worker * 75*d83cc019SAndroid Build Coastguard Worker * Handle of the GEM object to obtain an mmap offset for. 76*d83cc019SAndroid Build Coastguard Worker */ 77*d83cc019SAndroid Build Coastguard Worker __u32 handle; 78*d83cc019SAndroid Build Coastguard Worker 79*d83cc019SAndroid Build Coastguard Worker /** 80*d83cc019SAndroid Build Coastguard Worker * @pad: 81*d83cc019SAndroid Build Coastguard Worker * 82*d83cc019SAndroid Build Coastguard Worker * Structure padding that may be used in the future. Must be 0. 83*d83cc019SAndroid Build Coastguard Worker */ 84*d83cc019SAndroid Build Coastguard Worker __u32 pad; 85*d83cc019SAndroid Build Coastguard Worker 86*d83cc019SAndroid Build Coastguard Worker /** 87*d83cc019SAndroid Build Coastguard Worker * @offset: 88*d83cc019SAndroid Build Coastguard Worker * 89*d83cc019SAndroid Build Coastguard Worker * The mmap offset for the given GEM object. Set by the kernel upon 90*d83cc019SAndroid Build Coastguard Worker * successful completion of the IOCTL. 91*d83cc019SAndroid Build Coastguard Worker */ 92*d83cc019SAndroid Build Coastguard Worker __u64 offset; 93*d83cc019SAndroid Build Coastguard Worker }; 94*d83cc019SAndroid Build Coastguard Worker 95*d83cc019SAndroid Build Coastguard Worker /** 96*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_syncpt_read - parameters for the read syncpoint IOCTL 97*d83cc019SAndroid Build Coastguard Worker */ 98*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_syncpt_read { 99*d83cc019SAndroid Build Coastguard Worker /** 100*d83cc019SAndroid Build Coastguard Worker * @id: 101*d83cc019SAndroid Build Coastguard Worker * 102*d83cc019SAndroid Build Coastguard Worker * ID of the syncpoint to read the current value from. 103*d83cc019SAndroid Build Coastguard Worker */ 104*d83cc019SAndroid Build Coastguard Worker __u32 id; 105*d83cc019SAndroid Build Coastguard Worker 106*d83cc019SAndroid Build Coastguard Worker /** 107*d83cc019SAndroid Build Coastguard Worker * @value: 108*d83cc019SAndroid Build Coastguard Worker * 109*d83cc019SAndroid Build Coastguard Worker * The current syncpoint value. Set by the kernel upon successful 110*d83cc019SAndroid Build Coastguard Worker * completion of the IOCTL. 111*d83cc019SAndroid Build Coastguard Worker */ 112*d83cc019SAndroid Build Coastguard Worker __u32 value; 113*d83cc019SAndroid Build Coastguard Worker }; 114*d83cc019SAndroid Build Coastguard Worker 115*d83cc019SAndroid Build Coastguard Worker /** 116*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_syncpt_incr - parameters for the increment syncpoint IOCTL 117*d83cc019SAndroid Build Coastguard Worker */ 118*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_syncpt_incr { 119*d83cc019SAndroid Build Coastguard Worker /** 120*d83cc019SAndroid Build Coastguard Worker * @id: 121*d83cc019SAndroid Build Coastguard Worker * 122*d83cc019SAndroid Build Coastguard Worker * ID of the syncpoint to increment. 123*d83cc019SAndroid Build Coastguard Worker */ 124*d83cc019SAndroid Build Coastguard Worker __u32 id; 125*d83cc019SAndroid Build Coastguard Worker 126*d83cc019SAndroid Build Coastguard Worker /** 127*d83cc019SAndroid Build Coastguard Worker * @pad: 128*d83cc019SAndroid Build Coastguard Worker * 129*d83cc019SAndroid Build Coastguard Worker * Structure padding that may be used in the future. Must be 0. 130*d83cc019SAndroid Build Coastguard Worker */ 131*d83cc019SAndroid Build Coastguard Worker __u32 pad; 132*d83cc019SAndroid Build Coastguard Worker }; 133*d83cc019SAndroid Build Coastguard Worker 134*d83cc019SAndroid Build Coastguard Worker /** 135*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_syncpt_wait - parameters for the wait syncpoint IOCTL 136*d83cc019SAndroid Build Coastguard Worker */ 137*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_syncpt_wait { 138*d83cc019SAndroid Build Coastguard Worker /** 139*d83cc019SAndroid Build Coastguard Worker * @id: 140*d83cc019SAndroid Build Coastguard Worker * 141*d83cc019SAndroid Build Coastguard Worker * ID of the syncpoint to wait on. 142*d83cc019SAndroid Build Coastguard Worker */ 143*d83cc019SAndroid Build Coastguard Worker __u32 id; 144*d83cc019SAndroid Build Coastguard Worker 145*d83cc019SAndroid Build Coastguard Worker /** 146*d83cc019SAndroid Build Coastguard Worker * @thresh: 147*d83cc019SAndroid Build Coastguard Worker * 148*d83cc019SAndroid Build Coastguard Worker * Threshold value for which to wait. 149*d83cc019SAndroid Build Coastguard Worker */ 150*d83cc019SAndroid Build Coastguard Worker __u32 thresh; 151*d83cc019SAndroid Build Coastguard Worker 152*d83cc019SAndroid Build Coastguard Worker /** 153*d83cc019SAndroid Build Coastguard Worker * @timeout: 154*d83cc019SAndroid Build Coastguard Worker * 155*d83cc019SAndroid Build Coastguard Worker * Timeout, in milliseconds, to wait. 156*d83cc019SAndroid Build Coastguard Worker */ 157*d83cc019SAndroid Build Coastguard Worker __u32 timeout; 158*d83cc019SAndroid Build Coastguard Worker 159*d83cc019SAndroid Build Coastguard Worker /** 160*d83cc019SAndroid Build Coastguard Worker * @value: 161*d83cc019SAndroid Build Coastguard Worker * 162*d83cc019SAndroid Build Coastguard Worker * The new syncpoint value after the wait. Set by the kernel upon 163*d83cc019SAndroid Build Coastguard Worker * successful completion of the IOCTL. 164*d83cc019SAndroid Build Coastguard Worker */ 165*d83cc019SAndroid Build Coastguard Worker __u32 value; 166*d83cc019SAndroid Build Coastguard Worker }; 167*d83cc019SAndroid Build Coastguard Worker 168*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_NO_TIMEOUT (0xffffffff) 169*d83cc019SAndroid Build Coastguard Worker 170*d83cc019SAndroid Build Coastguard Worker /** 171*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_open_channel - parameters for the open channel IOCTL 172*d83cc019SAndroid Build Coastguard Worker */ 173*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_open_channel { 174*d83cc019SAndroid Build Coastguard Worker /** 175*d83cc019SAndroid Build Coastguard Worker * @client: 176*d83cc019SAndroid Build Coastguard Worker * 177*d83cc019SAndroid Build Coastguard Worker * The client ID for this channel. 178*d83cc019SAndroid Build Coastguard Worker */ 179*d83cc019SAndroid Build Coastguard Worker __u32 client; 180*d83cc019SAndroid Build Coastguard Worker 181*d83cc019SAndroid Build Coastguard Worker /** 182*d83cc019SAndroid Build Coastguard Worker * @pad: 183*d83cc019SAndroid Build Coastguard Worker * 184*d83cc019SAndroid Build Coastguard Worker * Structure padding that may be used in the future. Must be 0. 185*d83cc019SAndroid Build Coastguard Worker */ 186*d83cc019SAndroid Build Coastguard Worker __u32 pad; 187*d83cc019SAndroid Build Coastguard Worker 188*d83cc019SAndroid Build Coastguard Worker /** 189*d83cc019SAndroid Build Coastguard Worker * @context: 190*d83cc019SAndroid Build Coastguard Worker * 191*d83cc019SAndroid Build Coastguard Worker * The application context of this channel. Set by the kernel upon 192*d83cc019SAndroid Build Coastguard Worker * successful completion of the IOCTL. This context needs to be passed 193*d83cc019SAndroid Build Coastguard Worker * to the DRM_TEGRA_CHANNEL_CLOSE or the DRM_TEGRA_SUBMIT IOCTLs. 194*d83cc019SAndroid Build Coastguard Worker */ 195*d83cc019SAndroid Build Coastguard Worker __u64 context; 196*d83cc019SAndroid Build Coastguard Worker }; 197*d83cc019SAndroid Build Coastguard Worker 198*d83cc019SAndroid Build Coastguard Worker /** 199*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_close_channel - parameters for the close channel IOCTL 200*d83cc019SAndroid Build Coastguard Worker */ 201*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_close_channel { 202*d83cc019SAndroid Build Coastguard Worker /** 203*d83cc019SAndroid Build Coastguard Worker * @context: 204*d83cc019SAndroid Build Coastguard Worker * 205*d83cc019SAndroid Build Coastguard Worker * The application context of this channel. This is obtained from the 206*d83cc019SAndroid Build Coastguard Worker * DRM_TEGRA_OPEN_CHANNEL IOCTL. 207*d83cc019SAndroid Build Coastguard Worker */ 208*d83cc019SAndroid Build Coastguard Worker __u64 context; 209*d83cc019SAndroid Build Coastguard Worker }; 210*d83cc019SAndroid Build Coastguard Worker 211*d83cc019SAndroid Build Coastguard Worker /** 212*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_get_syncpt - parameters for the get syncpoint IOCTL 213*d83cc019SAndroid Build Coastguard Worker */ 214*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_get_syncpt { 215*d83cc019SAndroid Build Coastguard Worker /** 216*d83cc019SAndroid Build Coastguard Worker * @context: 217*d83cc019SAndroid Build Coastguard Worker * 218*d83cc019SAndroid Build Coastguard Worker * The application context identifying the channel for which to obtain 219*d83cc019SAndroid Build Coastguard Worker * the syncpoint ID. 220*d83cc019SAndroid Build Coastguard Worker */ 221*d83cc019SAndroid Build Coastguard Worker __u64 context; 222*d83cc019SAndroid Build Coastguard Worker 223*d83cc019SAndroid Build Coastguard Worker /** 224*d83cc019SAndroid Build Coastguard Worker * @index: 225*d83cc019SAndroid Build Coastguard Worker * 226*d83cc019SAndroid Build Coastguard Worker * Index of the client syncpoint for which to obtain the ID. 227*d83cc019SAndroid Build Coastguard Worker */ 228*d83cc019SAndroid Build Coastguard Worker __u32 index; 229*d83cc019SAndroid Build Coastguard Worker 230*d83cc019SAndroid Build Coastguard Worker /** 231*d83cc019SAndroid Build Coastguard Worker * @id: 232*d83cc019SAndroid Build Coastguard Worker * 233*d83cc019SAndroid Build Coastguard Worker * The ID of the given syncpoint. Set by the kernel upon successful 234*d83cc019SAndroid Build Coastguard Worker * completion of the IOCTL. 235*d83cc019SAndroid Build Coastguard Worker */ 236*d83cc019SAndroid Build Coastguard Worker __u32 id; 237*d83cc019SAndroid Build Coastguard Worker }; 238*d83cc019SAndroid Build Coastguard Worker 239*d83cc019SAndroid Build Coastguard Worker /** 240*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_get_syncpt_base - parameters for the get wait base IOCTL 241*d83cc019SAndroid Build Coastguard Worker */ 242*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_get_syncpt_base { 243*d83cc019SAndroid Build Coastguard Worker /** 244*d83cc019SAndroid Build Coastguard Worker * @context: 245*d83cc019SAndroid Build Coastguard Worker * 246*d83cc019SAndroid Build Coastguard Worker * The application context identifying for which channel to obtain the 247*d83cc019SAndroid Build Coastguard Worker * wait base. 248*d83cc019SAndroid Build Coastguard Worker */ 249*d83cc019SAndroid Build Coastguard Worker __u64 context; 250*d83cc019SAndroid Build Coastguard Worker 251*d83cc019SAndroid Build Coastguard Worker /** 252*d83cc019SAndroid Build Coastguard Worker * @syncpt: 253*d83cc019SAndroid Build Coastguard Worker * 254*d83cc019SAndroid Build Coastguard Worker * ID of the syncpoint for which to obtain the wait base. 255*d83cc019SAndroid Build Coastguard Worker */ 256*d83cc019SAndroid Build Coastguard Worker __u32 syncpt; 257*d83cc019SAndroid Build Coastguard Worker 258*d83cc019SAndroid Build Coastguard Worker /** 259*d83cc019SAndroid Build Coastguard Worker * @id: 260*d83cc019SAndroid Build Coastguard Worker * 261*d83cc019SAndroid Build Coastguard Worker * The ID of the wait base corresponding to the client syncpoint. Set 262*d83cc019SAndroid Build Coastguard Worker * by the kernel upon successful completion of the IOCTL. 263*d83cc019SAndroid Build Coastguard Worker */ 264*d83cc019SAndroid Build Coastguard Worker __u32 id; 265*d83cc019SAndroid Build Coastguard Worker }; 266*d83cc019SAndroid Build Coastguard Worker 267*d83cc019SAndroid Build Coastguard Worker /** 268*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_syncpt - syncpoint increment operation 269*d83cc019SAndroid Build Coastguard Worker */ 270*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_syncpt { 271*d83cc019SAndroid Build Coastguard Worker /** 272*d83cc019SAndroid Build Coastguard Worker * @id: 273*d83cc019SAndroid Build Coastguard Worker * 274*d83cc019SAndroid Build Coastguard Worker * ID of the syncpoint to operate on. 275*d83cc019SAndroid Build Coastguard Worker */ 276*d83cc019SAndroid Build Coastguard Worker __u32 id; 277*d83cc019SAndroid Build Coastguard Worker 278*d83cc019SAndroid Build Coastguard Worker /** 279*d83cc019SAndroid Build Coastguard Worker * @incrs: 280*d83cc019SAndroid Build Coastguard Worker * 281*d83cc019SAndroid Build Coastguard Worker * Number of increments to perform for the syncpoint. 282*d83cc019SAndroid Build Coastguard Worker */ 283*d83cc019SAndroid Build Coastguard Worker __u32 incrs; 284*d83cc019SAndroid Build Coastguard Worker }; 285*d83cc019SAndroid Build Coastguard Worker 286*d83cc019SAndroid Build Coastguard Worker /** 287*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_cmdbuf - structure describing a command buffer 288*d83cc019SAndroid Build Coastguard Worker */ 289*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_cmdbuf { 290*d83cc019SAndroid Build Coastguard Worker /** 291*d83cc019SAndroid Build Coastguard Worker * @handle: 292*d83cc019SAndroid Build Coastguard Worker * 293*d83cc019SAndroid Build Coastguard Worker * Handle to a GEM object containing the command buffer. 294*d83cc019SAndroid Build Coastguard Worker */ 295*d83cc019SAndroid Build Coastguard Worker __u32 handle; 296*d83cc019SAndroid Build Coastguard Worker 297*d83cc019SAndroid Build Coastguard Worker /** 298*d83cc019SAndroid Build Coastguard Worker * @offset: 299*d83cc019SAndroid Build Coastguard Worker * 300*d83cc019SAndroid Build Coastguard Worker * Offset, in bytes, into the GEM object identified by @handle at 301*d83cc019SAndroid Build Coastguard Worker * which the command buffer starts. 302*d83cc019SAndroid Build Coastguard Worker */ 303*d83cc019SAndroid Build Coastguard Worker __u32 offset; 304*d83cc019SAndroid Build Coastguard Worker 305*d83cc019SAndroid Build Coastguard Worker /** 306*d83cc019SAndroid Build Coastguard Worker * @words: 307*d83cc019SAndroid Build Coastguard Worker * 308*d83cc019SAndroid Build Coastguard Worker * Number of 32-bit words in this command buffer. 309*d83cc019SAndroid Build Coastguard Worker */ 310*d83cc019SAndroid Build Coastguard Worker __u32 words; 311*d83cc019SAndroid Build Coastguard Worker 312*d83cc019SAndroid Build Coastguard Worker /** 313*d83cc019SAndroid Build Coastguard Worker * @pad: 314*d83cc019SAndroid Build Coastguard Worker * 315*d83cc019SAndroid Build Coastguard Worker * Structure padding that may be used in the future. Must be 0. 316*d83cc019SAndroid Build Coastguard Worker */ 317*d83cc019SAndroid Build Coastguard Worker __u32 pad; 318*d83cc019SAndroid Build Coastguard Worker }; 319*d83cc019SAndroid Build Coastguard Worker 320*d83cc019SAndroid Build Coastguard Worker /** 321*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_reloc - GEM object relocation structure 322*d83cc019SAndroid Build Coastguard Worker */ 323*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_reloc { 324*d83cc019SAndroid Build Coastguard Worker struct { 325*d83cc019SAndroid Build Coastguard Worker /** 326*d83cc019SAndroid Build Coastguard Worker * @cmdbuf.handle: 327*d83cc019SAndroid Build Coastguard Worker * 328*d83cc019SAndroid Build Coastguard Worker * Handle to the GEM object containing the command buffer for 329*d83cc019SAndroid Build Coastguard Worker * which to perform this GEM object relocation. 330*d83cc019SAndroid Build Coastguard Worker */ 331*d83cc019SAndroid Build Coastguard Worker __u32 handle; 332*d83cc019SAndroid Build Coastguard Worker 333*d83cc019SAndroid Build Coastguard Worker /** 334*d83cc019SAndroid Build Coastguard Worker * @cmdbuf.offset: 335*d83cc019SAndroid Build Coastguard Worker * 336*d83cc019SAndroid Build Coastguard Worker * Offset, in bytes, into the command buffer at which to 337*d83cc019SAndroid Build Coastguard Worker * insert the relocated address. 338*d83cc019SAndroid Build Coastguard Worker */ 339*d83cc019SAndroid Build Coastguard Worker __u32 offset; 340*d83cc019SAndroid Build Coastguard Worker } cmdbuf; 341*d83cc019SAndroid Build Coastguard Worker struct { 342*d83cc019SAndroid Build Coastguard Worker /** 343*d83cc019SAndroid Build Coastguard Worker * @target.handle: 344*d83cc019SAndroid Build Coastguard Worker * 345*d83cc019SAndroid Build Coastguard Worker * Handle to the GEM object to be relocated. 346*d83cc019SAndroid Build Coastguard Worker */ 347*d83cc019SAndroid Build Coastguard Worker __u32 handle; 348*d83cc019SAndroid Build Coastguard Worker 349*d83cc019SAndroid Build Coastguard Worker /** 350*d83cc019SAndroid Build Coastguard Worker * @target.offset: 351*d83cc019SAndroid Build Coastguard Worker * 352*d83cc019SAndroid Build Coastguard Worker * Offset, in bytes, into the target GEM object at which the 353*d83cc019SAndroid Build Coastguard Worker * relocated data starts. 354*d83cc019SAndroid Build Coastguard Worker */ 355*d83cc019SAndroid Build Coastguard Worker __u32 offset; 356*d83cc019SAndroid Build Coastguard Worker } target; 357*d83cc019SAndroid Build Coastguard Worker 358*d83cc019SAndroid Build Coastguard Worker /** 359*d83cc019SAndroid Build Coastguard Worker * @shift: 360*d83cc019SAndroid Build Coastguard Worker * 361*d83cc019SAndroid Build Coastguard Worker * The number of bits by which to shift relocated addresses. 362*d83cc019SAndroid Build Coastguard Worker */ 363*d83cc019SAndroid Build Coastguard Worker __u32 shift; 364*d83cc019SAndroid Build Coastguard Worker 365*d83cc019SAndroid Build Coastguard Worker /** 366*d83cc019SAndroid Build Coastguard Worker * @pad: 367*d83cc019SAndroid Build Coastguard Worker * 368*d83cc019SAndroid Build Coastguard Worker * Structure padding that may be used in the future. Must be 0. 369*d83cc019SAndroid Build Coastguard Worker */ 370*d83cc019SAndroid Build Coastguard Worker __u32 pad; 371*d83cc019SAndroid Build Coastguard Worker }; 372*d83cc019SAndroid Build Coastguard Worker 373*d83cc019SAndroid Build Coastguard Worker /** 374*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_waitchk - wait check structure 375*d83cc019SAndroid Build Coastguard Worker */ 376*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_waitchk { 377*d83cc019SAndroid Build Coastguard Worker /** 378*d83cc019SAndroid Build Coastguard Worker * @handle: 379*d83cc019SAndroid Build Coastguard Worker * 380*d83cc019SAndroid Build Coastguard Worker * Handle to the GEM object containing a command stream on which to 381*d83cc019SAndroid Build Coastguard Worker * perform the wait check. 382*d83cc019SAndroid Build Coastguard Worker */ 383*d83cc019SAndroid Build Coastguard Worker __u32 handle; 384*d83cc019SAndroid Build Coastguard Worker 385*d83cc019SAndroid Build Coastguard Worker /** 386*d83cc019SAndroid Build Coastguard Worker * @offset: 387*d83cc019SAndroid Build Coastguard Worker * 388*d83cc019SAndroid Build Coastguard Worker * Offset, in bytes, of the location in the command stream to perform 389*d83cc019SAndroid Build Coastguard Worker * the wait check on. 390*d83cc019SAndroid Build Coastguard Worker */ 391*d83cc019SAndroid Build Coastguard Worker __u32 offset; 392*d83cc019SAndroid Build Coastguard Worker 393*d83cc019SAndroid Build Coastguard Worker /** 394*d83cc019SAndroid Build Coastguard Worker * @syncpt: 395*d83cc019SAndroid Build Coastguard Worker * 396*d83cc019SAndroid Build Coastguard Worker * ID of the syncpoint to wait check. 397*d83cc019SAndroid Build Coastguard Worker */ 398*d83cc019SAndroid Build Coastguard Worker __u32 syncpt; 399*d83cc019SAndroid Build Coastguard Worker 400*d83cc019SAndroid Build Coastguard Worker /** 401*d83cc019SAndroid Build Coastguard Worker * @thresh: 402*d83cc019SAndroid Build Coastguard Worker * 403*d83cc019SAndroid Build Coastguard Worker * Threshold value for which to check. 404*d83cc019SAndroid Build Coastguard Worker */ 405*d83cc019SAndroid Build Coastguard Worker __u32 thresh; 406*d83cc019SAndroid Build Coastguard Worker }; 407*d83cc019SAndroid Build Coastguard Worker 408*d83cc019SAndroid Build Coastguard Worker /** 409*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_submit - job submission structure 410*d83cc019SAndroid Build Coastguard Worker */ 411*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_submit { 412*d83cc019SAndroid Build Coastguard Worker /** 413*d83cc019SAndroid Build Coastguard Worker * @context: 414*d83cc019SAndroid Build Coastguard Worker * 415*d83cc019SAndroid Build Coastguard Worker * The application context identifying the channel to use for the 416*d83cc019SAndroid Build Coastguard Worker * execution of this job. 417*d83cc019SAndroid Build Coastguard Worker */ 418*d83cc019SAndroid Build Coastguard Worker __u64 context; 419*d83cc019SAndroid Build Coastguard Worker 420*d83cc019SAndroid Build Coastguard Worker /** 421*d83cc019SAndroid Build Coastguard Worker * @num_syncpts: 422*d83cc019SAndroid Build Coastguard Worker * 423*d83cc019SAndroid Build Coastguard Worker * The number of syncpoints operated on by this job. This defines the 424*d83cc019SAndroid Build Coastguard Worker * length of the array pointed to by @syncpts. 425*d83cc019SAndroid Build Coastguard Worker */ 426*d83cc019SAndroid Build Coastguard Worker __u32 num_syncpts; 427*d83cc019SAndroid Build Coastguard Worker 428*d83cc019SAndroid Build Coastguard Worker /** 429*d83cc019SAndroid Build Coastguard Worker * @num_cmdbufs: 430*d83cc019SAndroid Build Coastguard Worker * 431*d83cc019SAndroid Build Coastguard Worker * The number of command buffers to execute as part of this job. This 432*d83cc019SAndroid Build Coastguard Worker * defines the length of the array pointed to by @cmdbufs. 433*d83cc019SAndroid Build Coastguard Worker */ 434*d83cc019SAndroid Build Coastguard Worker __u32 num_cmdbufs; 435*d83cc019SAndroid Build Coastguard Worker 436*d83cc019SAndroid Build Coastguard Worker /** 437*d83cc019SAndroid Build Coastguard Worker * @num_relocs: 438*d83cc019SAndroid Build Coastguard Worker * 439*d83cc019SAndroid Build Coastguard Worker * The number of relocations to perform before executing this job. 440*d83cc019SAndroid Build Coastguard Worker * This defines the length of the array pointed to by @relocs. 441*d83cc019SAndroid Build Coastguard Worker */ 442*d83cc019SAndroid Build Coastguard Worker __u32 num_relocs; 443*d83cc019SAndroid Build Coastguard Worker 444*d83cc019SAndroid Build Coastguard Worker /** 445*d83cc019SAndroid Build Coastguard Worker * @num_waitchks: 446*d83cc019SAndroid Build Coastguard Worker * 447*d83cc019SAndroid Build Coastguard Worker * The number of wait checks to perform as part of this job. This 448*d83cc019SAndroid Build Coastguard Worker * defines the length of the array pointed to by @waitchks. 449*d83cc019SAndroid Build Coastguard Worker */ 450*d83cc019SAndroid Build Coastguard Worker __u32 num_waitchks; 451*d83cc019SAndroid Build Coastguard Worker 452*d83cc019SAndroid Build Coastguard Worker /** 453*d83cc019SAndroid Build Coastguard Worker * @waitchk_mask: 454*d83cc019SAndroid Build Coastguard Worker * 455*d83cc019SAndroid Build Coastguard Worker * Bitmask of valid wait checks. 456*d83cc019SAndroid Build Coastguard Worker */ 457*d83cc019SAndroid Build Coastguard Worker __u32 waitchk_mask; 458*d83cc019SAndroid Build Coastguard Worker 459*d83cc019SAndroid Build Coastguard Worker /** 460*d83cc019SAndroid Build Coastguard Worker * @timeout: 461*d83cc019SAndroid Build Coastguard Worker * 462*d83cc019SAndroid Build Coastguard Worker * Timeout, in milliseconds, before this job is cancelled. 463*d83cc019SAndroid Build Coastguard Worker */ 464*d83cc019SAndroid Build Coastguard Worker __u32 timeout; 465*d83cc019SAndroid Build Coastguard Worker 466*d83cc019SAndroid Build Coastguard Worker /** 467*d83cc019SAndroid Build Coastguard Worker * @syncpts: 468*d83cc019SAndroid Build Coastguard Worker * 469*d83cc019SAndroid Build Coastguard Worker * A pointer to an array of &struct drm_tegra_syncpt structures that 470*d83cc019SAndroid Build Coastguard Worker * specify the syncpoint operations performed as part of this job. 471*d83cc019SAndroid Build Coastguard Worker * The number of elements in the array must be equal to the value 472*d83cc019SAndroid Build Coastguard Worker * given by @num_syncpts. 473*d83cc019SAndroid Build Coastguard Worker */ 474*d83cc019SAndroid Build Coastguard Worker __u64 syncpts; 475*d83cc019SAndroid Build Coastguard Worker 476*d83cc019SAndroid Build Coastguard Worker /** 477*d83cc019SAndroid Build Coastguard Worker * @cmdbufs: 478*d83cc019SAndroid Build Coastguard Worker * 479*d83cc019SAndroid Build Coastguard Worker * A pointer to an array of &struct drm_tegra_cmdbuf structures that 480*d83cc019SAndroid Build Coastguard Worker * define the command buffers to execute as part of this job. The 481*d83cc019SAndroid Build Coastguard Worker * number of elements in the array must be equal to the value given 482*d83cc019SAndroid Build Coastguard Worker * by @num_syncpts. 483*d83cc019SAndroid Build Coastguard Worker */ 484*d83cc019SAndroid Build Coastguard Worker __u64 cmdbufs; 485*d83cc019SAndroid Build Coastguard Worker 486*d83cc019SAndroid Build Coastguard Worker /** 487*d83cc019SAndroid Build Coastguard Worker * @relocs: 488*d83cc019SAndroid Build Coastguard Worker * 489*d83cc019SAndroid Build Coastguard Worker * A pointer to an array of &struct drm_tegra_reloc structures that 490*d83cc019SAndroid Build Coastguard Worker * specify the relocations that need to be performed before executing 491*d83cc019SAndroid Build Coastguard Worker * this job. The number of elements in the array must be equal to the 492*d83cc019SAndroid Build Coastguard Worker * value given by @num_relocs. 493*d83cc019SAndroid Build Coastguard Worker */ 494*d83cc019SAndroid Build Coastguard Worker __u64 relocs; 495*d83cc019SAndroid Build Coastguard Worker 496*d83cc019SAndroid Build Coastguard Worker /** 497*d83cc019SAndroid Build Coastguard Worker * @waitchks: 498*d83cc019SAndroid Build Coastguard Worker * 499*d83cc019SAndroid Build Coastguard Worker * A pointer to an array of &struct drm_tegra_waitchk structures that 500*d83cc019SAndroid Build Coastguard Worker * specify the wait checks to be performed while executing this job. 501*d83cc019SAndroid Build Coastguard Worker * The number of elements in the array must be equal to the value 502*d83cc019SAndroid Build Coastguard Worker * given by @num_waitchks. 503*d83cc019SAndroid Build Coastguard Worker */ 504*d83cc019SAndroid Build Coastguard Worker __u64 waitchks; 505*d83cc019SAndroid Build Coastguard Worker 506*d83cc019SAndroid Build Coastguard Worker /** 507*d83cc019SAndroid Build Coastguard Worker * @fence: 508*d83cc019SAndroid Build Coastguard Worker * 509*d83cc019SAndroid Build Coastguard Worker * The threshold of the syncpoint associated with this job after it 510*d83cc019SAndroid Build Coastguard Worker * has been completed. Set by the kernel upon successful completion of 511*d83cc019SAndroid Build Coastguard Worker * the IOCTL. This can be used with the DRM_TEGRA_SYNCPT_WAIT IOCTL to 512*d83cc019SAndroid Build Coastguard Worker * wait for this job to be finished. 513*d83cc019SAndroid Build Coastguard Worker */ 514*d83cc019SAndroid Build Coastguard Worker __u32 fence; 515*d83cc019SAndroid Build Coastguard Worker 516*d83cc019SAndroid Build Coastguard Worker /** 517*d83cc019SAndroid Build Coastguard Worker * @reserved: 518*d83cc019SAndroid Build Coastguard Worker * 519*d83cc019SAndroid Build Coastguard Worker * This field is reserved for future use. Must be 0. 520*d83cc019SAndroid Build Coastguard Worker */ 521*d83cc019SAndroid Build Coastguard Worker __u32 reserved[5]; 522*d83cc019SAndroid Build Coastguard Worker }; 523*d83cc019SAndroid Build Coastguard Worker 524*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_TILING_MODE_PITCH 0 525*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_TILING_MODE_TILED 1 526*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_TILING_MODE_BLOCK 2 527*d83cc019SAndroid Build Coastguard Worker 528*d83cc019SAndroid Build Coastguard Worker /** 529*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_gem_set_tiling - parameters for the set tiling IOCTL 530*d83cc019SAndroid Build Coastguard Worker */ 531*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_gem_set_tiling { 532*d83cc019SAndroid Build Coastguard Worker /** 533*d83cc019SAndroid Build Coastguard Worker * @handle: 534*d83cc019SAndroid Build Coastguard Worker * 535*d83cc019SAndroid Build Coastguard Worker * Handle to the GEM object for which to set the tiling parameters. 536*d83cc019SAndroid Build Coastguard Worker */ 537*d83cc019SAndroid Build Coastguard Worker __u32 handle; 538*d83cc019SAndroid Build Coastguard Worker 539*d83cc019SAndroid Build Coastguard Worker /** 540*d83cc019SAndroid Build Coastguard Worker * @mode: 541*d83cc019SAndroid Build Coastguard Worker * 542*d83cc019SAndroid Build Coastguard Worker * The tiling mode to set. Must be one of: 543*d83cc019SAndroid Build Coastguard Worker * 544*d83cc019SAndroid Build Coastguard Worker * DRM_TEGRA_GEM_TILING_MODE_PITCH 545*d83cc019SAndroid Build Coastguard Worker * pitch linear format 546*d83cc019SAndroid Build Coastguard Worker * 547*d83cc019SAndroid Build Coastguard Worker * DRM_TEGRA_GEM_TILING_MODE_TILED 548*d83cc019SAndroid Build Coastguard Worker * 16x16 tiling format 549*d83cc019SAndroid Build Coastguard Worker * 550*d83cc019SAndroid Build Coastguard Worker * DRM_TEGRA_GEM_TILING_MODE_BLOCK 551*d83cc019SAndroid Build Coastguard Worker * 16Bx2 tiling format 552*d83cc019SAndroid Build Coastguard Worker */ 553*d83cc019SAndroid Build Coastguard Worker __u32 mode; 554*d83cc019SAndroid Build Coastguard Worker 555*d83cc019SAndroid Build Coastguard Worker /** 556*d83cc019SAndroid Build Coastguard Worker * @value: 557*d83cc019SAndroid Build Coastguard Worker * 558*d83cc019SAndroid Build Coastguard Worker * The value to set for the tiling mode parameter. 559*d83cc019SAndroid Build Coastguard Worker */ 560*d83cc019SAndroid Build Coastguard Worker __u32 value; 561*d83cc019SAndroid Build Coastguard Worker 562*d83cc019SAndroid Build Coastguard Worker /** 563*d83cc019SAndroid Build Coastguard Worker * @pad: 564*d83cc019SAndroid Build Coastguard Worker * 565*d83cc019SAndroid Build Coastguard Worker * Structure padding that may be used in the future. Must be 0. 566*d83cc019SAndroid Build Coastguard Worker */ 567*d83cc019SAndroid Build Coastguard Worker __u32 pad; 568*d83cc019SAndroid Build Coastguard Worker }; 569*d83cc019SAndroid Build Coastguard Worker 570*d83cc019SAndroid Build Coastguard Worker /** 571*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_gem_get_tiling - parameters for the get tiling IOCTL 572*d83cc019SAndroid Build Coastguard Worker */ 573*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_gem_get_tiling { 574*d83cc019SAndroid Build Coastguard Worker /** 575*d83cc019SAndroid Build Coastguard Worker * @handle: 576*d83cc019SAndroid Build Coastguard Worker * 577*d83cc019SAndroid Build Coastguard Worker * Handle to the GEM object for which to query the tiling parameters. 578*d83cc019SAndroid Build Coastguard Worker */ 579*d83cc019SAndroid Build Coastguard Worker __u32 handle; 580*d83cc019SAndroid Build Coastguard Worker 581*d83cc019SAndroid Build Coastguard Worker /** 582*d83cc019SAndroid Build Coastguard Worker * @mode: 583*d83cc019SAndroid Build Coastguard Worker * 584*d83cc019SAndroid Build Coastguard Worker * The tiling mode currently associated with the GEM object. Set by 585*d83cc019SAndroid Build Coastguard Worker * the kernel upon successful completion of the IOCTL. 586*d83cc019SAndroid Build Coastguard Worker */ 587*d83cc019SAndroid Build Coastguard Worker __u32 mode; 588*d83cc019SAndroid Build Coastguard Worker 589*d83cc019SAndroid Build Coastguard Worker /** 590*d83cc019SAndroid Build Coastguard Worker * @value: 591*d83cc019SAndroid Build Coastguard Worker * 592*d83cc019SAndroid Build Coastguard Worker * The tiling mode parameter currently associated with the GEM object. 593*d83cc019SAndroid Build Coastguard Worker * Set by the kernel upon successful completion of the IOCTL. 594*d83cc019SAndroid Build Coastguard Worker */ 595*d83cc019SAndroid Build Coastguard Worker __u32 value; 596*d83cc019SAndroid Build Coastguard Worker 597*d83cc019SAndroid Build Coastguard Worker /** 598*d83cc019SAndroid Build Coastguard Worker * @pad: 599*d83cc019SAndroid Build Coastguard Worker * 600*d83cc019SAndroid Build Coastguard Worker * Structure padding that may be used in the future. Must be 0. 601*d83cc019SAndroid Build Coastguard Worker */ 602*d83cc019SAndroid Build Coastguard Worker __u32 pad; 603*d83cc019SAndroid Build Coastguard Worker }; 604*d83cc019SAndroid Build Coastguard Worker 605*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_BOTTOM_UP (1 << 0) 606*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_FLAGS (DRM_TEGRA_GEM_BOTTOM_UP) 607*d83cc019SAndroid Build Coastguard Worker 608*d83cc019SAndroid Build Coastguard Worker /** 609*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_gem_set_flags - parameters for the set flags IOCTL 610*d83cc019SAndroid Build Coastguard Worker */ 611*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_gem_set_flags { 612*d83cc019SAndroid Build Coastguard Worker /** 613*d83cc019SAndroid Build Coastguard Worker * @handle: 614*d83cc019SAndroid Build Coastguard Worker * 615*d83cc019SAndroid Build Coastguard Worker * Handle to the GEM object for which to set the flags. 616*d83cc019SAndroid Build Coastguard Worker */ 617*d83cc019SAndroid Build Coastguard Worker __u32 handle; 618*d83cc019SAndroid Build Coastguard Worker 619*d83cc019SAndroid Build Coastguard Worker /** 620*d83cc019SAndroid Build Coastguard Worker * @flags: 621*d83cc019SAndroid Build Coastguard Worker * 622*d83cc019SAndroid Build Coastguard Worker * The flags to set for the GEM object. 623*d83cc019SAndroid Build Coastguard Worker */ 624*d83cc019SAndroid Build Coastguard Worker __u32 flags; 625*d83cc019SAndroid Build Coastguard Worker }; 626*d83cc019SAndroid Build Coastguard Worker 627*d83cc019SAndroid Build Coastguard Worker /** 628*d83cc019SAndroid Build Coastguard Worker * struct drm_tegra_gem_get_flags - parameters for the get flags IOCTL 629*d83cc019SAndroid Build Coastguard Worker */ 630*d83cc019SAndroid Build Coastguard Worker struct drm_tegra_gem_get_flags { 631*d83cc019SAndroid Build Coastguard Worker /** 632*d83cc019SAndroid Build Coastguard Worker * @handle: 633*d83cc019SAndroid Build Coastguard Worker * 634*d83cc019SAndroid Build Coastguard Worker * Handle to the GEM object for which to query the flags. 635*d83cc019SAndroid Build Coastguard Worker */ 636*d83cc019SAndroid Build Coastguard Worker __u32 handle; 637*d83cc019SAndroid Build Coastguard Worker 638*d83cc019SAndroid Build Coastguard Worker /** 639*d83cc019SAndroid Build Coastguard Worker * @flags: 640*d83cc019SAndroid Build Coastguard Worker * 641*d83cc019SAndroid Build Coastguard Worker * The flags currently associated with the GEM object. Set by the 642*d83cc019SAndroid Build Coastguard Worker * kernel upon successful completion of the IOCTL. 643*d83cc019SAndroid Build Coastguard Worker */ 644*d83cc019SAndroid Build Coastguard Worker __u32 flags; 645*d83cc019SAndroid Build Coastguard Worker }; 646*d83cc019SAndroid Build Coastguard Worker 647*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_CREATE 0x00 648*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_MMAP 0x01 649*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_SYNCPT_READ 0x02 650*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_SYNCPT_INCR 0x03 651*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_SYNCPT_WAIT 0x04 652*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_OPEN_CHANNEL 0x05 653*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_CLOSE_CHANNEL 0x06 654*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GET_SYNCPT 0x07 655*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_SUBMIT 0x08 656*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GET_SYNCPT_BASE 0x09 657*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_SET_TILING 0x0a 658*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_GET_TILING 0x0b 659*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_SET_FLAGS 0x0c 660*d83cc019SAndroid Build Coastguard Worker #define DRM_TEGRA_GEM_GET_FLAGS 0x0d 661*d83cc019SAndroid Build Coastguard Worker 662*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create) 663*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap) 664*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_SYNCPT_READ DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_READ, struct drm_tegra_syncpt_read) 665*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_SYNCPT_INCR DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_INCR, struct drm_tegra_syncpt_incr) 666*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_SYNCPT_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_WAIT, struct drm_tegra_syncpt_wait) 667*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_OPEN_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_OPEN_CHANNEL, struct drm_tegra_open_channel) 668*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_close_channel) 669*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt) 670*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit) 671*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GET_SYNCPT_BASE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT_BASE, struct drm_tegra_get_syncpt_base) 672*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GEM_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_TILING, struct drm_tegra_gem_set_tiling) 673*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GEM_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_TILING, struct drm_tegra_gem_get_tiling) 674*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GEM_SET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_FLAGS, struct drm_tegra_gem_set_flags) 675*d83cc019SAndroid Build Coastguard Worker #define DRM_IOCTL_TEGRA_GEM_GET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_FLAGS, struct drm_tegra_gem_get_flags) 676*d83cc019SAndroid Build Coastguard Worker 677*d83cc019SAndroid Build Coastguard Worker #if defined(__cplusplus) 678*d83cc019SAndroid Build Coastguard Worker } 679*d83cc019SAndroid Build Coastguard Worker #endif 680*d83cc019SAndroid Build Coastguard Worker 681*d83cc019SAndroid Build Coastguard Worker #endif 682