1b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */
24d34686eSBen Skeggs #ifndef __NVKM_PM_NVC0_H__
34d34686eSBen Skeggs #define __NVKM_PM_NVC0_H__
44d34686eSBen Skeggs #include "priv.h"
54d34686eSBen Skeggs 
697070f23SBen Skeggs struct gf100_pm_func {
7060f50e3SSamuel Pitoiset 	const struct nvkm_specdom *doms_hub;
8060f50e3SSamuel Pitoiset 	const struct nvkm_specdom *doms_gpc;
9060f50e3SSamuel Pitoiset 	const struct nvkm_specdom *doms_part;
10060f50e3SSamuel Pitoiset };
11060f50e3SSamuel Pitoiset 
12*e73d371aSBen Skeggs int gf100_pm_new_(const struct gf100_pm_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
13*e73d371aSBen Skeggs 		  struct nvkm_pm **);
144d34686eSBen Skeggs 
154d34686eSBen Skeggs extern const struct nvkm_funcdom gf100_perfctr_func;
1694a2ef69SSamuel Pitoiset extern const struct nvkm_specdom gf100_pm_gpc[];
1794a2ef69SSamuel Pitoiset 
182df0bf57SSamuel Pitoiset extern const struct nvkm_specsrc gf100_pbfb_sources[];
1994a2ef69SSamuel Pitoiset extern const struct nvkm_specsrc gf100_pmfb_sources[];
204d34686eSBen Skeggs #endif
21