1#ifndef __NOUVEAU_MC_H__
2#define __NOUVEAU_MC_H__
3
4#include <core/subdev.h>
5#include <core/device.h>
6
7struct nouveau_mc {
8	struct nouveau_subdev base;
9	bool use_msi;
10	unsigned int irq;
11	void (*unk260)(struct nouveau_mc *, u32);
12};
13
14static inline struct nouveau_mc *
15nouveau_mc(void *obj)
16{
17	return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_MC];
18}
19
20extern struct nouveau_oclass *nv04_mc_oclass;
21extern struct nouveau_oclass *nv40_mc_oclass;
22extern struct nouveau_oclass *nv44_mc_oclass;
23extern struct nouveau_oclass *nv4c_mc_oclass;
24extern struct nouveau_oclass *nv50_mc_oclass;
25extern struct nouveau_oclass *nv94_mc_oclass;
26extern struct nouveau_oclass *nv98_mc_oclass;
27extern struct nouveau_oclass *nvc0_mc_oclass;
28extern struct nouveau_oclass *nvc3_mc_oclass;
29extern struct nouveau_oclass *gk20a_mc_oclass;
30
31#endif
32