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/drm.h>
     22 #define DRM_TEGRA_GEM_CREATE_TILED (1 << 0)
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define DRM_TEGRA_GEM_CREATE_BOTTOM_UP (1 << 1)
     25 struct drm_tegra_gem_create {
     26  __u64 size;
     27  __u32 flags;
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29  __u32 handle;
     30 };
     31 struct drm_tegra_gem_mmap {
     32  __u32 handle;
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34  __u32 offset;
     35 };
     36 struct drm_tegra_syncpt_read {
     37  __u32 id;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39  __u32 value;
     40 };
     41 struct drm_tegra_syncpt_incr {
     42  __u32 id;
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44  __u32 pad;
     45 };
     46 struct drm_tegra_syncpt_wait {
     47  __u32 id;
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49  __u32 thresh;
     50  __u32 timeout;
     51  __u32 value;
     52 };
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define DRM_TEGRA_NO_TIMEOUT (0xffffffff)
     55 struct drm_tegra_open_channel {
     56  __u32 client;
     57  __u32 pad;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59  __u64 context;
     60 };
     61 struct drm_tegra_close_channel {
     62  __u64 context;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 };
     65 struct drm_tegra_get_syncpt {
     66  __u64 context;
     67  __u32 index;
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69  __u32 id;
     70 };
     71 struct drm_tegra_get_syncpt_base {
     72  __u64 context;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  __u32 syncpt;
     75  __u32 id;
     76 };
     77 struct drm_tegra_syncpt {
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  __u32 id;
     80  __u32 incrs;
     81 };
     82 struct drm_tegra_cmdbuf {
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  __u32 handle;
     85  __u32 offset;
     86  __u32 words;
     87  __u32 pad;
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 };
     90 struct drm_tegra_reloc {
     91  struct {
     92  __u32 handle;
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94  __u32 offset;
     95  } cmdbuf;
     96  struct {
     97  __u32 handle;
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  __u32 offset;
    100  } target;
    101  __u32 shift;
    102  __u32 pad;
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 };
    105 struct drm_tegra_waitchk {
    106  __u32 handle;
    107  __u32 offset;
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  __u32 syncpt;
    110  __u32 thresh;
    111 };
    112 struct drm_tegra_submit {
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  __u64 context;
    115  __u32 num_syncpts;
    116  __u32 num_cmdbufs;
    117  __u32 num_relocs;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  __u32 num_waitchks;
    120  __u32 waitchk_mask;
    121  __u32 timeout;
    122  __u32 pad;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  __u64 syncpts;
    125  __u64 cmdbufs;
    126  __u64 relocs;
    127  __u64 waitchks;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  __u32 fence;
    130  __u32 reserved[5];
    131 };
    132 #define DRM_TEGRA_GEM_CREATE 0x00
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #define DRM_TEGRA_GEM_MMAP 0x01
    135 #define DRM_TEGRA_SYNCPT_READ 0x02
    136 #define DRM_TEGRA_SYNCPT_INCR 0x03
    137 #define DRM_TEGRA_SYNCPT_WAIT 0x04
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 #define DRM_TEGRA_OPEN_CHANNEL 0x05
    140 #define DRM_TEGRA_CLOSE_CHANNEL 0x06
    141 #define DRM_TEGRA_GET_SYNCPT 0x07
    142 #define DRM_TEGRA_SUBMIT 0x08
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 #define DRM_TEGRA_GET_SYNCPT_BASE 0x09
    145 #define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create)
    146 #define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap)
    147 #define DRM_IOCTL_TEGRA_SYNCPT_READ DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_READ, struct drm_tegra_syncpt_read)
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 #define DRM_IOCTL_TEGRA_SYNCPT_INCR DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_INCR, struct drm_tegra_syncpt_incr)
    150 #define DRM_IOCTL_TEGRA_SYNCPT_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_WAIT, struct drm_tegra_syncpt_wait)
    151 #define DRM_IOCTL_TEGRA_OPEN_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_OPEN_CHANNEL, struct drm_tegra_open_channel)
    152 #define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_open_channel)
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt)
    155 #define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit)
    156 #define DRM_IOCTL_TEGRA_GET_SYNCPT_BASE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT_BASE, struct drm_tegra_get_syncpt_base)
    157 #endif
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159