xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/devinit/nv50.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
1 /*	$NetBSD: nv50.h,v 1.3 2021/12/18 23:45:39 riastradh Exp $	*/
2 
3 /* SPDX-License-Identifier: MIT */
4 #ifndef __NV50_DEVINIT_H__
5 #define __NV50_DEVINIT_H__
6 #define nv50_devinit(p) container_of((p), struct nv50_devinit, base)
7 #include "priv.h"
8 
9 struct nv50_devinit {
10 	struct nvkm_devinit base;
11 	u32 r001540;
12 };
13 
14 int nv50_devinit_new_(const struct nvkm_devinit_func *, struct nvkm_device *,
15 		      int, struct nvkm_devinit **);
16 void nv50_devinit_preinit(struct nvkm_devinit *);
17 void nv50_devinit_init(struct nvkm_devinit *);
18 int  nv50_devinit_pll_set(struct nvkm_devinit *, u32, u32);
19 
20 int  gt215_devinit_pll_set(struct nvkm_devinit *, u32, u32);
21 
22 int  gf100_devinit_ctor(struct nvkm_object *, struct nvkm_object *,
23 			struct nvkm_oclass *, void *, u32,
24 			struct nvkm_object **);
25 int  gf100_devinit_pll_set(struct nvkm_devinit *, u32, u32);
26 void gf100_devinit_preinit(struct nvkm_devinit *);
27 
28 u64  gm107_devinit_disable(struct nvkm_devinit *);
29 
30 int gm200_devinit_post(struct nvkm_devinit *, bool);
31 void gm200_devinit_preos(struct nv50_devinit *, bool);
32 #endif
33