1 #ifndef __NVKM_PERFMON_H__
2 #define __NVKM_PERFMON_H__
4 #include <core/device.h>
5 #include <core/engine.h>
6 #include <core/engctx.h>
8 struct nouveau_perfdom
;
9 struct nouveau_perfctr
;
10 struct nouveau_perfmon
{
11 struct nouveau_engine base
;
13 struct nouveau_perfctx
*context
;
16 struct list_head domains
;
19 /*XXX: temp for daemon backend */
24 static inline struct nouveau_perfmon
*
25 nouveau_perfmon(void *obj
)
27 return (void *)nouveau_engine(obj
, NVDEV_ENGINE_PERFMON
);
30 extern struct nouveau_oclass
*nv40_perfmon_oclass
;
31 extern struct nouveau_oclass
*nv50_perfmon_oclass
;
32 extern struct nouveau_oclass
*nv84_perfmon_oclass
;
33 extern struct nouveau_oclass
*nva3_perfmon_oclass
;
34 extern struct nouveau_oclass nvc0_perfmon_oclass
;
35 extern struct nouveau_oclass nve0_perfmon_oclass
;
36 extern struct nouveau_oclass nvf0_perfmon_oclass
;