1 /* SPDX-License-Identifier: MIT */ 2 #ifndef __NVKM_TOP_H__ 3 #define __NVKM_TOP_H__ 4 #include <core/subdev.h> 5 6 struct nvkm_top { 7 const struct nvkm_top_func *func; 8 struct nvkm_subdev subdev; 9 struct list_head device; 10 }; 11 12 u32 nvkm_top_addr(struct nvkm_device *, enum nvkm_devidx); 13 u32 nvkm_top_reset(struct nvkm_device *, enum nvkm_devidx); 14 u32 nvkm_top_intr(struct nvkm_device *, u32 intr, u64 *subdevs); 15 u32 nvkm_top_intr_mask(struct nvkm_device *, enum nvkm_devidx); 16 int nvkm_top_fault_id(struct nvkm_device *, enum nvkm_devidx); 17 enum nvkm_devidx nvkm_top_fault(struct nvkm_device *, int fault); 18 enum nvkm_devidx nvkm_top_engine(struct nvkm_device *, int, int *runl, int *engn); 19 20 int gk104_top_new(struct nvkm_device *, int, struct nvkm_top **); 21 #endif 22