1 #ifndef __NVKM_PM_NVC0_H__
2 #define __NVKM_PM_NVC0_H__
3 #include "priv.h"
4 
5 struct gf100_pm_oclass {
6 	struct nvkm_oclass base;
7 	const struct nvkm_specdom *doms_hub;
8 	const struct nvkm_specdom *doms_gpc;
9 	const struct nvkm_specdom *doms_part;
10 };
11 
12 int gf100_pm_ctor(struct nvkm_object *, struct nvkm_object *,
13 		  struct nvkm_oclass *, void *data, u32 size,
14 		  struct nvkm_object **pobject);
15 
16 struct gf100_pm_cntr {
17 	struct nvkm_perfctr base;
18 };
19 
20 extern const struct nvkm_funcdom gf100_perfctr_func;
21 int gf100_pm_fini(struct nvkm_object *, bool);
22 
23 extern const struct nvkm_specdom gf100_pm_gpc[];
24 
25 extern const struct nvkm_specsrc gf100_pbfb_sources[];
26 extern const struct nvkm_specsrc gf100_pmfb_sources[];
27 
28 #endif
29