drm/nouveau/nvif: split out ctxdma interface definitions
[deliverable/linux.git] / drivers / gpu / drm / nouveau / include / nvif / class.h
index aa1e0634a28b26df85676198fb3b552c94e00ce3..c08db4ccfb2a59836d196a6524725427fa9bcb7b 100644 (file)
@@ -2,9 +2,9 @@
 #define __NVIF_CLASS_H__
 
 /* these class numbers are made up by us, and not nvidia-assigned */
-#define NVIF_CLASS_CONTROL                                                   -1
-#define NVIF_CLASS_PERFMON                                                   -2
-#define NVIF_CLASS_PERFDOM                                                   -3
+#define NVIF_CLASS_CONTROL                                    /* if0001.h */ -1
+#define NVIF_CLASS_PERFMON                                    /* if0002.h */ -2
+#define NVIF_CLASS_PERFDOM                                    /* if0003.h */ -3
 #define NVIF_CLASS_SW_NV04                                    /* if0004.h */ -4
 #define NVIF_CLASS_SW_NV10                                    /* if0005.h */ -5
 #define NVIF_CLASS_SW_NV50                                    /* if0005.h */ -6
@@ -13,9 +13,9 @@
 /* the below match nvidia-assigned (either in hw, or sw) class numbers */
 #define NV_DEVICE                                                    0x00000080
 
-#define NV_DMA_FROM_MEMORY                                           0x00000002
-#define NV_DMA_TO_MEMORY                                             0x00000003
-#define NV_DMA_IN_MEMORY                                             0x0000003d
+#define NV_DMA_FROM_MEMORY                            /* cl0002.h */ 0x00000002
+#define NV_DMA_TO_MEMORY                              /* cl0002.h */ 0x00000003
+#define NV_DMA_IN_MEMORY                              /* cl0002.h */ 0x0000003d
 
 #define FERMI_TWOD_A                                                 0x0000902d
 
 
 #define NV04_DISP                                     /* cl0046.h */ 0x00000046
 
-#define NV03_CHANNEL_DMA                                             0x0000006b
-#define NV10_CHANNEL_DMA                                             0x0000006e
-#define NV17_CHANNEL_DMA                                             0x0000176e
-#define NV40_CHANNEL_DMA                                             0x0000406e
-#define NV50_CHANNEL_DMA                                             0x0000506e
-#define G82_CHANNEL_DMA                                              0x0000826e
+#define NV03_CHANNEL_DMA                              /* cl506b.h */ 0x0000006b
+#define NV10_CHANNEL_DMA                              /* cl506b.h */ 0x0000006e
+#define NV17_CHANNEL_DMA                              /* cl506b.h */ 0x0000176e
+#define NV40_CHANNEL_DMA                              /* cl506b.h */ 0x0000406e
+#define NV50_CHANNEL_DMA                              /* cl506e.h */ 0x0000506e
+#define G82_CHANNEL_DMA                               /* cl826e.h */ 0x0000826e
 
-#define NV50_CHANNEL_GPFIFO                                          0x0000506f
-#define G82_CHANNEL_GPFIFO                                           0x0000826f
-#define FERMI_CHANNEL_GPFIFO                                         0x0000906f
-#define KEPLER_CHANNEL_GPFIFO_A                                      0x0000a06f
-#define MAXWELL_CHANNEL_GPFIFO_A                                     0x0000b06f
+#define NV50_CHANNEL_GPFIFO                           /* cl506f.h */ 0x0000506f
+#define G82_CHANNEL_GPFIFO                            /* cl826f.h */ 0x0000826f
+#define FERMI_CHANNEL_GPFIFO                          /* cl906f.h */ 0x0000906f
+#define KEPLER_CHANNEL_GPFIFO_A                       /* cla06f.h */ 0x0000a06f
+#define MAXWELL_CHANNEL_GPFIFO_A                      /* cla06f.h */ 0x0000b06f
 
 #define NV50_DISP                                     /* cl5070.h */ 0x00005070
 #define G82_DISP                                      /* cl5070.h */ 0x00008270
@@ -198,258 +198,4 @@ struct nv_device_time_v0 {
        __u8  pad01[7];
        __u64 time;
 };
-
-
-/*******************************************************************************
- * context dma
- ******************************************************************************/
-
-struct nv_dma_v0 {
-       __u8  version;
-#define NV_DMA_V0_TARGET_VM                                                0x00
-#define NV_DMA_V0_TARGET_VRAM                                              0x01
-#define NV_DMA_V0_TARGET_PCI                                               0x02
-#define NV_DMA_V0_TARGET_PCI_US                                            0x03
-#define NV_DMA_V0_TARGET_AGP                                               0x04
-       __u8  target;
-#define NV_DMA_V0_ACCESS_VM                                                0x00
-#define NV_DMA_V0_ACCESS_RD                                                0x01
-#define NV_DMA_V0_ACCESS_WR                                                0x02
-#define NV_DMA_V0_ACCESS_RDWR                 (NV_DMA_V0_ACCESS_RD | NV_DMA_V0_ACCESS_WR)
-       __u8  access;
-       __u8  pad03[5];
-       __u64 start;
-       __u64 limit;
-       /* ... chipset-specific class data */
-};
-
-struct nv50_dma_v0 {
-       __u8  version;
-#define NV50_DMA_V0_PRIV_VM                                                0x00
-#define NV50_DMA_V0_PRIV_US                                                0x01
-#define NV50_DMA_V0_PRIV__S                                                0x02
-       __u8  priv;
-#define NV50_DMA_V0_PART_VM                                                0x00
-#define NV50_DMA_V0_PART_256                                               0x01
-#define NV50_DMA_V0_PART_1KB                                               0x02
-       __u8  part;
-#define NV50_DMA_V0_COMP_NONE                                              0x00
-#define NV50_DMA_V0_COMP_1                                                 0x01
-#define NV50_DMA_V0_COMP_2                                                 0x02
-#define NV50_DMA_V0_COMP_VM                                                0x03
-       __u8  comp;
-#define NV50_DMA_V0_KIND_PITCH                                             0x00
-#define NV50_DMA_V0_KIND_VM                                                0x7f
-       __u8  kind;
-       __u8  pad05[3];
-};
-
-struct gf100_dma_v0 {
-       __u8  version;
-#define GF100_DMA_V0_PRIV_VM                                               0x00
-#define GF100_DMA_V0_PRIV_US                                               0x01
-#define GF100_DMA_V0_PRIV__S                                               0x02
-       __u8  priv;
-#define GF100_DMA_V0_KIND_PITCH                                            0x00
-#define GF100_DMA_V0_KIND_VM                                               0xff
-       __u8  kind;
-       __u8  pad03[5];
-};
-
-struct gf119_dma_v0 {
-       __u8  version;
-#define GF119_DMA_V0_PAGE_LP                                               0x00
-#define GF119_DMA_V0_PAGE_SP                                               0x01
-       __u8  page;
-#define GF119_DMA_V0_KIND_PITCH                                            0x00
-#define GF119_DMA_V0_KIND_VM                                               0xff
-       __u8  kind;
-       __u8  pad03[5];
-};
-
-
-/*******************************************************************************
- * perfmon
- ******************************************************************************/
-
-#define NVIF_PERFMON_V0_QUERY_DOMAIN                                       0x00
-#define NVIF_PERFMON_V0_QUERY_SIGNAL                                       0x01
-#define NVIF_PERFMON_V0_QUERY_SOURCE                                       0x02
-
-struct nvif_perfmon_query_domain_v0 {
-       __u8  version;
-       __u8  id;
-       __u8  counter_nr;
-       __u8  iter;
-       __u16 signal_nr;
-       __u8  pad05[2];
-       char  name[64];
-};
-
-struct nvif_perfmon_query_signal_v0 {
-       __u8  version;
-       __u8  domain;
-       __u16 iter;
-       __u8  signal;
-       __u8  source_nr;
-       __u8  pad05[2];
-       char  name[64];
-};
-
-struct nvif_perfmon_query_source_v0 {
-       __u8  version;
-       __u8  domain;
-       __u8  signal;
-       __u8  iter;
-       __u8  pad04[4];
-       __u32 source;
-       __u32 mask;
-       char  name[64];
-};
-
-
-/*******************************************************************************
- * perfdom
- ******************************************************************************/
-
-struct nvif_perfdom_v0 {
-       __u8  version;
-       __u8  domain;
-       __u8  mode;
-       __u8  pad03[1];
-       struct {
-               __u8  signal[4];
-               __u64 source[4][8];
-               __u16 logic_op;
-       } ctr[4];
-};
-
-#define NVIF_PERFDOM_V0_INIT                                               0x00
-#define NVIF_PERFDOM_V0_SAMPLE                                             0x01
-#define NVIF_PERFDOM_V0_READ                                               0x02
-
-struct nvif_perfdom_init {
-};
-
-struct nvif_perfdom_sample {
-};
-
-struct nvif_perfdom_read_v0 {
-       __u8  version;
-       __u8  pad01[7];
-       __u32 ctr[4];
-       __u32 clk;
-       __u8  pad04[4];
-};
-
-
-/*******************************************************************************
- * device control
- ******************************************************************************/
-
-#define NVIF_CONTROL_PSTATE_INFO                                           0x00
-#define NVIF_CONTROL_PSTATE_ATTR                                           0x01
-#define NVIF_CONTROL_PSTATE_USER                                           0x02
-
-struct nvif_control_pstate_info_v0 {
-       __u8  version;
-       __u8  count; /* out: number of power states */
-#define NVIF_CONTROL_PSTATE_INFO_V0_USTATE_DISABLE                         (-1)
-#define NVIF_CONTROL_PSTATE_INFO_V0_USTATE_PERFMON                         (-2)
-       __s8  ustate_ac; /* out: target pstate index */
-       __s8  ustate_dc; /* out: target pstate index */
-       __s8  pwrsrc; /* out: current power source */
-#define NVIF_CONTROL_PSTATE_INFO_V0_PSTATE_UNKNOWN                         (-1)
-#define NVIF_CONTROL_PSTATE_INFO_V0_PSTATE_PERFMON                         (-2)
-       __s8  pstate; /* out: current pstate index */
-       __u8  pad06[2];
-};
-
-struct nvif_control_pstate_attr_v0 {
-       __u8  version;
-#define NVIF_CONTROL_PSTATE_ATTR_V0_STATE_CURRENT                          (-1)
-       __s8  state; /*  in: index of pstate to query
-                     * out: pstate identifier
-                     */
-       __u8  index; /*  in: index of attribute to query
-                     * out: index of next attribute, or 0 if no more
-                     */
-       __u8  pad03[5];
-       __u32 min;
-       __u32 max;
-       char  name[32];
-       char  unit[16];
-};
-
-struct nvif_control_pstate_user_v0 {
-       __u8  version;
-#define NVIF_CONTROL_PSTATE_USER_V0_STATE_UNKNOWN                          (-1)
-#define NVIF_CONTROL_PSTATE_USER_V0_STATE_PERFMON                          (-2)
-       __s8  ustate; /*  in: pstate identifier */
-       __s8  pwrsrc; /*  in: target power source */
-       __u8  pad03[5];
-};
-
-
-/*******************************************************************************
- * DMA FIFO channels
- ******************************************************************************/
-
-struct nv03_channel_dma_v0 {
-       __u8  version;
-       __u8  chid;
-       __u8  pad02[2];
-       __u32 offset;
-       __u64 pushbuf;
-};
-
-struct nv50_channel_dma_v0 {
-       __u8  version;
-       __u8  chid;
-       __u8  pad02[6];
-       __u64 vm;
-       __u64 pushbuf;
-       __u64 offset;
-};
-
-#define G82_CHANNEL_DMA_V0_NTFY_UEVENT                                     0x00
-
-/*******************************************************************************
- * GPFIFO channels
- ******************************************************************************/
-
-struct nv50_channel_gpfifo_v0 {
-       __u8  version;
-       __u8  chid;
-       __u8  pad02[2];
-       __u32 ilength;
-       __u64 ioffset;
-       __u64 pushbuf;
-       __u64 vm;
-};
-
-struct fermi_channel_gpfifo_v0 {
-       __u8  version;
-       __u8  chid;
-       __u8  pad02[2];
-       __u32 ilength;
-       __u64 ioffset;
-       __u64 vm;
-};
-
-struct kepler_channel_gpfifo_a_v0 {
-       __u8  version;
-#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_GR                               0x01
-#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSPDEC                           0x02
-#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSPPP                            0x04
-#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSVLD                            0x08
-#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_CE0                              0x10
-#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_CE1                              0x20
-#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_ENC                              0x40
-       __u8  engine;
-       __u16 chid;
-       __u32 ilength;
-       __u64 ioffset;
-       __u64 vm;
-};
 #endif
This page took 0.044063 seconds and 5 git commands to generate.