1b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */
2dc06e366SMartin Peres #ifndef __NVKM_ICCSENSE_H__
3dc06e366SMartin Peres #define __NVKM_ICCSENSE_H__
4dc06e366SMartin Peres 
5dc06e366SMartin Peres #include <core/subdev.h>
6dc06e366SMartin Peres 
7dc06e366SMartin Peres struct nvkm_iccsense {
8dc06e366SMartin Peres 	struct nvkm_subdev subdev;
9b71c0892SKarol Herbst 	bool data_valid;
105f1f07deSKarol Herbst 	struct list_head sensors;
1192224e75SKarol Herbst 	struct list_head rails;
121efc3c4bSKarol Herbst 
131efc3c4bSKarol Herbst 	u32 power_w_max;
141efc3c4bSKarol Herbst 	u32 power_w_crit;
15dc06e366SMartin Peres };
16dc06e366SMartin Peres 
17*4dea1a96SBen Skeggs int gf100_iccsense_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_iccsense **);
18b71c0892SKarol Herbst int nvkm_iccsense_read_all(struct nvkm_iccsense *iccsense);
19dc06e366SMartin Peres #endif
20