xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvkm/subdev/top.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
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