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