1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVKM_DEVINIT_PRIV_H__
3 #define __NVKM_DEVINIT_PRIV_H__
4 #define nvkm_devinit(p) container_of((p), struct nvkm_devinit, subdev)
5 #include <subdev/devinit.h>
7 struct nvkm_devinit_func
{
8 void *(*dtor
)(struct nvkm_devinit
*);
9 void (*preinit
)(struct nvkm_devinit
*);
10 void (*init
)(struct nvkm_devinit
*);
11 int (*post
)(struct nvkm_devinit
*, bool post
);
12 u32 (*mmio
)(struct nvkm_devinit
*, u32
);
13 void (*meminit
)(struct nvkm_devinit
*);
14 int (*pll_set
)(struct nvkm_devinit
*, u32 type
, u32 freq
);
15 u64 (*disable
)(struct nvkm_devinit
*);
18 void nvkm_devinit_ctor(const struct nvkm_devinit_func
*, struct nvkm_device
*,
19 int index
, struct nvkm_devinit
*);
21 int nv04_devinit_post(struct nvkm_devinit
*, bool);