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