1#ifndef __NOUVEAU_DEVINIT_H__ 2#define __NOUVEAU_DEVINIT_H__ 3 4#include <core/subdev.h> 5#include <core/device.h> 6 7struct nouveau_devinit { 8 struct nouveau_subdev base; 9 bool post; 10 void (*meminit)(struct nouveau_devinit *); 11 int (*pll_set)(struct nouveau_devinit *, u32 type, u32 freq); 12 u32 (*mmio)(struct nouveau_devinit *, u32 addr); 13}; 14 15static inline struct nouveau_devinit * 16nouveau_devinit(void *obj) 17{ 18 return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_DEVINIT]; 19} 20 21extern struct nouveau_oclass *nv04_devinit_oclass; 22extern struct nouveau_oclass *nv05_devinit_oclass; 23extern struct nouveau_oclass *nv10_devinit_oclass; 24extern struct nouveau_oclass *nv1a_devinit_oclass; 25extern struct nouveau_oclass *nv20_devinit_oclass; 26extern struct nouveau_oclass *nv50_devinit_oclass; 27extern struct nouveau_oclass *nv84_devinit_oclass; 28extern struct nouveau_oclass *nv98_devinit_oclass; 29extern struct nouveau_oclass *nva3_devinit_oclass; 30extern struct nouveau_oclass *nvaf_devinit_oclass; 31extern struct nouveau_oclass *nvc0_devinit_oclass; 32extern struct nouveau_oclass *gm107_devinit_oclass; 33 34#endif 35