Home | History | Annotate | Line # | Download | only in subdev
      1 /*	$NetBSD: mc.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $	*/
      2 
      3 /* SPDX-License-Identifier: MIT */
      4 #ifndef __NVKM_MC_H__
      5 #define __NVKM_MC_H__
      6 #include <core/subdev.h>
      7 
      8 struct nvkm_mc {
      9 	const struct nvkm_mc_func *func;
     10 	struct nvkm_subdev subdev;
     11 };
     12 
     13 void nvkm_mc_enable(struct nvkm_device *, enum nvkm_devidx);
     14 void nvkm_mc_disable(struct nvkm_device *, enum nvkm_devidx);
     15 bool nvkm_mc_enabled(struct nvkm_device *, enum nvkm_devidx);
     16 void nvkm_mc_reset(struct nvkm_device *, enum nvkm_devidx);
     17 void nvkm_mc_intr(struct nvkm_device *, bool *handled);
     18 void nvkm_mc_intr_unarm(struct nvkm_device *);
     19 void nvkm_mc_intr_rearm(struct nvkm_device *);
     20 void nvkm_mc_intr_mask(struct nvkm_device *, enum nvkm_devidx, bool enable);
     21 void nvkm_mc_unk260(struct nvkm_device *, u32 data);
     22 
     23 int nv04_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     24 int nv11_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     25 int nv17_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     26 int nv44_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     27 int nv50_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     28 int g84_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     29 int g98_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     30 int gt215_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     31 int gf100_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     32 int gk104_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     33 int gk20a_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     34 int gp100_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     35 int gp10b_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     36 int tu102_mc_new(struct nvkm_device *, int, struct nvkm_mc **);
     37 #endif
     38