2012-07-11 10:44:20 +10:00
|
|
|
#ifndef __NOUVEAU_DEVINIT_H__
|
|
|
|
|
#define __NOUVEAU_DEVINIT_H__
|
|
|
|
|
|
|
|
|
|
#include <core/subdev.h>
|
|
|
|
|
#include <core/device.h>
|
|
|
|
|
|
|
|
|
|
struct nouveau_devinit {
|
|
|
|
|
struct nouveau_subdev base;
|
|
|
|
|
bool post;
|
|
|
|
|
void (*meminit)(struct nouveau_devinit *);
|
2013-03-05 10:53:54 +10:00
|
|
|
int (*pll_set)(struct nouveau_devinit *, u32 type, u32 freq);
|
2014-03-19 02:56:29 +10:00
|
|
|
u32 (*mmio)(struct nouveau_devinit *, u32 addr);
|
2012-07-11 10:44:20 +10:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static inline struct nouveau_devinit *
|
|
|
|
|
nouveau_devinit(void *obj)
|
|
|
|
|
{
|
2014-12-03 17:07:22 +10:00
|
|
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_DEVINIT);
|
2012-07-11 10:44:20 +10:00
|
|
|
}
|
|
|
|
|
|
2014-01-14 15:55:38 +10:00
|
|
|
extern struct nouveau_oclass *nv04_devinit_oclass;
|
|
|
|
|
extern struct nouveau_oclass *nv05_devinit_oclass;
|
|
|
|
|
extern struct nouveau_oclass *nv10_devinit_oclass;
|
|
|
|
|
extern struct nouveau_oclass *nv1a_devinit_oclass;
|
|
|
|
|
extern struct nouveau_oclass *nv20_devinit_oclass;
|
|
|
|
|
extern struct nouveau_oclass *nv50_devinit_oclass;
|
2014-01-14 16:29:06 +10:00
|
|
|
extern struct nouveau_oclass *nv84_devinit_oclass;
|
|
|
|
|
extern struct nouveau_oclass *nv98_devinit_oclass;
|
2014-01-14 15:55:38 +10:00
|
|
|
extern struct nouveau_oclass *nva3_devinit_oclass;
|
2014-01-14 16:29:06 +10:00
|
|
|
extern struct nouveau_oclass *nvaf_devinit_oclass;
|
2014-01-14 15:55:38 +10:00
|
|
|
extern struct nouveau_oclass *nvc0_devinit_oclass;
|
2014-02-24 12:28:37 +10:00
|
|
|
extern struct nouveau_oclass *gm107_devinit_oclass;
|
2014-09-23 15:42:45 +10:00
|
|
|
extern struct nouveau_oclass *gm204_devinit_oclass;
|
2012-07-11 10:44:20 +10:00
|
|
|
|
|
|
|
|
#endif
|