34 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVKM_TOP_H__3#define __NVKM_TOP_H__4#include <core/subdev.h>5 6struct nvkm_top {7 const struct nvkm_top_func *func;8 struct nvkm_subdev subdev;9 struct list_head device;10};11 12struct nvkm_top_device {13 enum nvkm_subdev_type type;14 int inst;15 u32 addr;16 int fault;17 int engine;18 int runlist;19 int reset;20 int intr;21 struct list_head head;22};23 24int nvkm_top_parse(struct nvkm_device *);25u32 nvkm_top_addr(struct nvkm_device *, enum nvkm_subdev_type, int);26u32 nvkm_top_reset(struct nvkm_device *, enum nvkm_subdev_type, int);27u32 nvkm_top_intr_mask(struct nvkm_device *, enum nvkm_subdev_type, int);28int nvkm_top_fault_id(struct nvkm_device *, enum nvkm_subdev_type, int);29struct nvkm_subdev *nvkm_top_fault(struct nvkm_device *, int fault);30 31int gk104_top_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_top **);32int ga100_top_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_top **);33#endif34