root/drivers/gpu/drm/nouveau/include/nvif/ioctl.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */