]> Pileus Git - ~andy/linux/blob - drivers/gpu/drm/nouveau/core/include/engine/perfmon.h
Merge tag 'drm-intel-fixes-2013-11-07' of git://people.freedesktop.org/~danvet/drm...
[~andy/linux] / drivers / gpu / drm / nouveau / core / include / engine / perfmon.h
1 #ifndef __NVKM_PERFMON_H__
2 #define __NVKM_PERFMON_H__
3
4 #include <core/device.h>
5 #include <core/engine.h>
6 #include <core/engctx.h>
7 #include <core/class.h>
8
9 struct nouveau_perfdom;
10 struct nouveau_perfctr;
11 struct nouveau_perfmon {
12         struct nouveau_engine base;
13
14         struct nouveau_perfctx *context;
15         void *profile_data;
16
17         struct list_head domains;
18         u32 sequence;
19
20         /*XXX: temp for daemon backend */
21         u32 pwr[8];
22         u32 last;
23 };
24
25 static inline struct nouveau_perfmon *
26 nouveau_perfmon(void *obj)
27 {
28         return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_PERFMON];
29 }
30
31 extern struct nouveau_oclass *nv40_perfmon_oclass;
32 extern struct nouveau_oclass *nv50_perfmon_oclass;
33 extern struct nouveau_oclass *nv84_perfmon_oclass;
34 extern struct nouveau_oclass *nva3_perfmon_oclass;
35 extern struct nouveau_oclass nvc0_perfmon_oclass;
36 extern struct nouveau_oclass nve0_perfmon_oclass;
37 extern struct nouveau_oclass nvf0_perfmon_oclass;
38
39 #endif