linux/drivers/gpu/drm/nouveau/include/nvif/ioctl.h
<<
>>
Prefs
   1#ifndef __NVIF_IOCTL_H__
   2#define __NVIF_IOCTL_H__
   3
   4#define NVIF_VERSION_LATEST                               0x0000000000000000ULL
   5
   6struct nvif_ioctl_v0 {
   7        __u8  version;
   8#define NVIF_IOCTL_V0_NOP                                                  0x00
   9#define NVIF_IOCTL_V0_SCLASS                                               0x01
  10#define NVIF_IOCTL_V0_NEW                                                  0x02
  11#define NVIF_IOCTL_V0_DEL                                                  0x03
  12#define NVIF_IOCTL_V0_MTHD                                                 0x04
  13#define NVIF_IOCTL_V0_RD                                                   0x05
  14#define NVIF_IOCTL_V0_WR                                                   0x06
  15#define NVIF_IOCTL_V0_MAP                                                  0x07
  16#define NVIF_IOCTL_V0_UNMAP                                                0x08
  17#define NVIF_IOCTL_V0_NTFY_NEW                                             0x09
  18#define NVIF_IOCTL_V0_NTFY_DEL                                             0x0a
  19#define NVIF_IOCTL_V0_NTFY_GET                                             0x0b
  20#define NVIF_IOCTL_V0_NTFY_PUT                                             0x0c
  21        __u8  type;
  22        __u8  pad02[4];
  23#define NVIF_IOCTL_V0_OWNER_NVIF                                           0x00
  24#define NVIF_IOCTL_V0_OWNER_ANY                                            0xff
  25        __u8  owner;
  26#define NVIF_IOCTL_V0_ROUTE_NVIF                                           0x00
  27#define NVIF_IOCTL_V0_ROUTE_HIDDEN                                         0xff
  28        __u8  route;
  29        __u64 token;
  30        __u64 object;
  31        __u8  data[];           /* ioctl data (below) */
  32};
  33
  34struct nvif_ioctl_nop_v0 {
  35        __u64 version;
  36};
  37
  38struct nvif_ioctl_sclass_v0 {
  39        /* nvif_ioctl ... */
  40        __u8  version;
  41        __u8  count;
  42        __u8  pad02[6];
  43        struct nvif_ioctl_sclass_oclass_v0 {
  44                __s32 oclass;
  45                __s16 minver;
  46                __s16 maxver;
  47        } oclass[];
  48};
  49
  50struct nvif_ioctl_new_v0 {
  51        /* nvif_ioctl ... */
  52        __u8  version;
  53        __u8  pad01[6];
  54        __u8  route;
  55        __u64 token;
  56        __u64 object;
  57        __u32 handle;
  58        __s32 oclass;
  59        __u8  data[];           /* class data (class.h) */
  60};
  61
  62struct nvif_ioctl_del {
  63};
  64
  65struct nvif_ioctl_rd_v0 {
  66        /* nvif_ioctl ... */
  67        __u8  version;
  68        __u8  size;
  69        __u8  pad02[2];
  70        __u32 data;
  71        __u64 addr;
  72};
  73
  74struct nvif_ioctl_wr_v0 {
  75        /* nvif_ioctl ... */
  76        __u8  version;
  77        __u8  size;
  78        __u8  pad02[2];
  79        __u32 data;
  80        __u64 addr;
  81};
  82
  83struct nvif_ioctl_map_v0 {
  84        /* nvif_ioctl ... */
  85        __u8  version;
  86        __u8  pad01[3];
  87        __u32 length;
  88        __u64 handle;
  89};
  90
  91struct nvif_ioctl_unmap {
  92};
  93
  94struct nvif_ioctl_ntfy_new_v0 {
  95        /* nvif_ioctl ... */
  96        __u8  version;
  97        __u8  event;
  98        __u8  index;
  99        __u8  pad03[5];
 100        __u8  data[];           /* event request data (event.h) */
 101};
 102
 103struct nvif_ioctl_ntfy_del_v0 {
 104        /* nvif_ioctl ... */
 105        __u8  version;
 106        __u8  index;
 107        __u8  pad02[6];
 108};
 109
 110struct nvif_ioctl_ntfy_get_v0 {
 111        /* nvif_ioctl ... */
 112        __u8  version;
 113        __u8  index;
 114        __u8  pad02[6];
 115};
 116
 117struct nvif_ioctl_ntfy_put_v0 {
 118        /* nvif_ioctl ... */
 119        __u8  version;
 120        __u8  index;
 121        __u8  pad02[6];
 122};
 123
 124struct nvif_ioctl_mthd_v0 {
 125        /* nvif_ioctl ... */
 126        __u8  version;
 127        __u8  method;
 128        __u8  pad02[6];
 129        __u8  data[];           /* method data (class.h) */
 130};
 131
 132#endif
 133