Home | History | Annotate | Download | only in drm
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _UAPI_TEGRA_DRM_H_
     20 #define _UAPI_TEGRA_DRM_H_
     21 #include "drm.h"
     22 #ifdef __cplusplus
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #endif
     25 #define DRM_TEGRA_GEM_CREATE_TILED (1 << 0)
     26 #define DRM_TEGRA_GEM_CREATE_BOTTOM_UP (1 << 1)
     27 struct drm_tegra_gem_create {
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29   __u64 size;
     30   __u32 flags;
     31   __u32 handle;
     32 };
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 struct drm_tegra_gem_mmap {
     35   __u32 handle;
     36   __u32 pad;
     37   __u64 offset;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 };
     40 struct drm_tegra_syncpt_read {
     41   __u32 id;
     42   __u32 value;
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 };
     45 struct drm_tegra_syncpt_incr {
     46   __u32 id;
     47   __u32 pad;
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 };
     50 struct drm_tegra_syncpt_wait {
     51   __u32 id;
     52   __u32 thresh;
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54   __u32 timeout;
     55   __u32 value;
     56 };
     57 #define DRM_TEGRA_NO_TIMEOUT (0xffffffff)
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 struct drm_tegra_open_channel {
     60   __u32 client;
     61   __u32 pad;
     62   __u64 context;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 };
     65 struct drm_tegra_close_channel {
     66   __u64 context;
     67 };
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 struct drm_tegra_get_syncpt {
     70   __u64 context;
     71   __u32 index;
     72   __u32 id;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 };
     75 struct drm_tegra_get_syncpt_base {
     76   __u64 context;
     77   __u32 syncpt;
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79   __u32 id;
     80 };
     81 struct drm_tegra_syncpt {
     82   __u32 id;
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84   __u32 incrs;
     85 };
     86 struct drm_tegra_cmdbuf {
     87   __u32 handle;
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89   __u32 offset;
     90   __u32 words;
     91   __u32 pad;
     92 };
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 struct drm_tegra_reloc {
     95   struct {
     96     __u32 handle;
     97     __u32 offset;
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99   } cmdbuf;
    100   struct {
    101     __u32 handle;
    102     __u32 offset;
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104   } target;
    105   __u32 shift;
    106   __u32 pad;
    107 };
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 struct drm_tegra_waitchk {
    110   __u32 handle;
    111   __u32 offset;
    112   __u32 syncpt;
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114   __u32 thresh;
    115 };
    116 struct drm_tegra_submit {
    117   __u64 context;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119   __u32 num_syncpts;
    120   __u32 num_cmdbufs;
    121   __u32 num_relocs;
    122   __u32 num_waitchks;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124   __u32 waitchk_mask;
    125   __u32 timeout;
    126   __u64 syncpts;
    127   __u64 cmdbufs;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129   __u64 relocs;
    130   __u64 waitchks;
    131   __u32 fence;
    132   __u32 reserved[5];
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 };
    135 #define DRM_TEGRA_GEM_TILING_MODE_PITCH 0
    136 #define DRM_TEGRA_GEM_TILING_MODE_TILED 1
    137 #define DRM_TEGRA_GEM_TILING_MODE_BLOCK 2
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 struct drm_tegra_gem_set_tiling {
    140   __u32 handle;
    141   __u32 mode;
    142   __u32 value;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144   __u32 pad;
    145 };
    146 struct drm_tegra_gem_get_tiling {
    147   __u32 handle;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149   __u32 mode;
    150   __u32 value;
    151   __u32 pad;
    152 };
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define DRM_TEGRA_GEM_BOTTOM_UP (1 << 0)
    155 #define DRM_TEGRA_GEM_FLAGS (DRM_TEGRA_GEM_BOTTOM_UP)
    156 struct drm_tegra_gem_set_flags {
    157   __u32 handle;
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159   __u32 flags;
    160 };
    161 struct drm_tegra_gem_get_flags {
    162   __u32 handle;
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164   __u32 flags;
    165 };
    166 #define DRM_TEGRA_GEM_CREATE 0x00
    167 #define DRM_TEGRA_GEM_MMAP 0x01
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define DRM_TEGRA_SYNCPT_READ 0x02
    170 #define DRM_TEGRA_SYNCPT_INCR 0x03
    171 #define DRM_TEGRA_SYNCPT_WAIT 0x04
    172 #define DRM_TEGRA_OPEN_CHANNEL 0x05
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define DRM_TEGRA_CLOSE_CHANNEL 0x06
    175 #define DRM_TEGRA_GET_SYNCPT 0x07
    176 #define DRM_TEGRA_SUBMIT 0x08
    177 #define DRM_TEGRA_GET_SYNCPT_BASE 0x09
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 #define DRM_TEGRA_GEM_SET_TILING 0x0a
    180 #define DRM_TEGRA_GEM_GET_TILING 0x0b
    181 #define DRM_TEGRA_GEM_SET_FLAGS 0x0c
    182 #define DRM_TEGRA_GEM_GET_FLAGS 0x0d
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 #define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create)
    185 #define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap)
    186 #define DRM_IOCTL_TEGRA_SYNCPT_READ DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_READ, struct drm_tegra_syncpt_read)
    187 #define DRM_IOCTL_TEGRA_SYNCPT_INCR DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_INCR, struct drm_tegra_syncpt_incr)
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 #define DRM_IOCTL_TEGRA_SYNCPT_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_WAIT, struct drm_tegra_syncpt_wait)
    190 #define DRM_IOCTL_TEGRA_OPEN_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_OPEN_CHANNEL, struct drm_tegra_open_channel)
    191 #define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_open_channel)
    192 #define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt)
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 #define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit)
    195 #define DRM_IOCTL_TEGRA_GET_SYNCPT_BASE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT_BASE, struct drm_tegra_get_syncpt_base)
    196 #define DRM_IOCTL_TEGRA_GEM_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_TILING, struct drm_tegra_gem_set_tiling)
    197 #define DRM_IOCTL_TEGRA_GEM_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_TILING, struct drm_tegra_gem_get_tiling)
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define DRM_IOCTL_TEGRA_GEM_SET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_FLAGS, struct drm_tegra_gem_set_flags)
    200 #define DRM_IOCTL_TEGRA_GEM_GET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_FLAGS, struct drm_tegra_gem_get_flags)
    201 #ifdef __cplusplus
    202 #endif
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #endif
    205