summaryrefslogtreecommitdiff
path: root/nvif
diff options
context:
space:
mode:
Diffstat (limited to 'nvif')
-rw-r--r--nvif/class.h34
-rw-r--r--nvif/ioctl.h2
2 files changed, 36 insertions, 0 deletions
diff --git a/nvif/class.h b/nvif/class.h
index 5279d0dd4..decca22ea 100644
--- a/nvif/class.h
+++ b/nvif/class.h
@@ -151,4 +151,38 @@ struct gf110_dma_v0 {
__u8 pad03[5];
};
+
+/*******************************************************************************
+ * perfmon
+ ******************************************************************************/
+
+struct nvif_perfctr_v0 {
+ __u8 version;
+ __u8 pad01[1];
+ __u16 logic_op;
+ __u8 pad04[4];
+ char name[4][64];
+};
+
+#define NVIF_PERFCTR_V0_QUERY 0x00
+#define NVIF_PERFCTR_V0_SAMPLE 0x01
+#define NVIF_PERFCTR_V0_READ 0x02
+
+struct nvif_perfctr_query_v0 {
+ __u8 version;
+ __u8 pad01[3];
+ __u32 iter;
+ char name[64];
+};
+
+struct nvif_perfctr_sample {
+};
+
+struct nvif_perfctr_read_v0 {
+ __u8 version;
+ __u8 pad01[7];
+ __u32 ctr;
+ __u32 clk;
+};
+
#endif
diff --git a/nvif/ioctl.h b/nvif/ioctl.h
index 38f24d1e9..67a56711b 100644
--- a/nvif/ioctl.h
+++ b/nvif/ioctl.h
@@ -48,6 +48,8 @@ struct nvif_ioctl_new_v0 {
__u8 route;
__u64 token;
__u32 handle;
+/* these class numbers are made up by us, and not nvidia-assigned */
+#define NVIF_IOCTL_NEW_V0_PERFCTR 0x0000ffff
__u32 oclass;
__u8 data[]; /* class data (class.h) */
};