1 #ifndef __NVKM_DEVINIT_H__ 2 #define __NVKM_DEVINIT_H__ 3 #include <core/subdev.h> 4 5 struct nvkm_devinit { 6 struct nvkm_subdev subdev; 7 bool post; 8 void (*meminit)(struct nvkm_devinit *); 9 int (*pll_set)(struct nvkm_devinit *, u32 type, u32 freq); 10 u32 (*mmio)(struct nvkm_devinit *, u32 addr); 11 }; 12 13 static inline struct nvkm_devinit * 14 nvkm_devinit(void *obj) 15 { 16 return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_DEVINIT); 17 } 18 19 extern struct nvkm_oclass *nv04_devinit_oclass; 20 extern struct nvkm_oclass *nv05_devinit_oclass; 21 extern struct nvkm_oclass *nv10_devinit_oclass; 22 extern struct nvkm_oclass *nv1a_devinit_oclass; 23 extern struct nvkm_oclass *nv20_devinit_oclass; 24 extern struct nvkm_oclass *nv50_devinit_oclass; 25 extern struct nvkm_oclass *g84_devinit_oclass; 26 extern struct nvkm_oclass *g98_devinit_oclass; 27 extern struct nvkm_oclass *gt215_devinit_oclass; 28 extern struct nvkm_oclass *mcp89_devinit_oclass; 29 extern struct nvkm_oclass *gf100_devinit_oclass; 30 extern struct nvkm_oclass *gm107_devinit_oclass; 31 extern struct nvkm_oclass *gm204_devinit_oclass; 32 #endif 33