2015-01-14 15:08:21 +10:00
|
|
|
#ifndef __NVKM_MC_H__
|
|
|
|
|
#define __NVKM_MC_H__
|
2012-07-11 15:58:56 +10:00
|
|
|
#include <core/subdev.h>
|
|
|
|
|
|
2015-01-14 15:08:21 +10:00
|
|
|
struct nvkm_mc {
|
|
|
|
|
struct nvkm_subdev base;
|
2013-08-28 02:00:50 +02:00
|
|
|
bool use_msi;
|
2014-02-17 15:17:26 +09:00
|
|
|
unsigned int irq;
|
2015-01-14 15:08:21 +10:00
|
|
|
void (*unk260)(struct nvkm_mc *, u32);
|
2012-07-11 15:58:56 +10:00
|
|
|
};
|
|
|
|
|
|
2015-01-14 15:08:21 +10:00
|
|
|
static inline struct nvkm_mc *
|
|
|
|
|
nvkm_mc(void *obj)
|
2012-07-11 15:58:56 +10:00
|
|
|
{
|
2015-01-14 15:08:21 +10:00
|
|
|
return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_MC);
|
2012-07-11 15:58:56 +10:00
|
|
|
}
|
|
|
|
|
|
2015-01-14 15:08:21 +10:00
|
|
|
extern struct nvkm_oclass *nv04_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *nv40_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *nv44_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *nv4c_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *nv50_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *g94_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *g98_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *gf100_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *gf106_mc_oclass;
|
|
|
|
|
extern struct nvkm_oclass *gk20a_mc_oclass;
|
2012-07-11 15:58:56 +10:00
|
|
|
#endif
|