1#ifndef __NVKM_MC_H__
2#define __NVKM_MC_H__
3#include <core/subdev.h>
4
5struct nvkm_mc {
6	struct nvkm_subdev base;
7	bool use_msi;
8	unsigned int irq;
9	void (*unk260)(struct nvkm_mc *, u32);
10};
11
12static inline struct nvkm_mc *
13nvkm_mc(void *obj)
14{
15	return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_MC);
16}
17
18extern struct nvkm_oclass *nv04_mc_oclass;
19extern struct nvkm_oclass *nv40_mc_oclass;
20extern struct nvkm_oclass *nv44_mc_oclass;
21extern struct nvkm_oclass *nv4c_mc_oclass;
22extern struct nvkm_oclass *nv50_mc_oclass;
23extern struct nvkm_oclass *g94_mc_oclass;
24extern struct nvkm_oclass *g98_mc_oclass;
25extern struct nvkm_oclass *gf100_mc_oclass;
26extern struct nvkm_oclass *gf106_mc_oclass;
27extern struct nvkm_oclass *gk20a_mc_oclass;
28#endif
29