mxm.h 985 字节
Newer Older
1 2
#ifndef __NVKM_MXM_H__
#define __NVKM_MXM_H__
3 4 5 6
#include <core/subdev.h>

#define MXM_SANITISE_DCB 0x00000001

7
struct nvkm_mxm {
B
Ben Skeggs 已提交
8
	struct nvkm_subdev subdev;
9 10 11 12
	u32 action;
	u8 *mxms;
};

13 14
static inline struct nvkm_mxm *
nvkm_mxm(void *obj)
15
{
16
	return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_MXM);
17 18
}

19 20 21
#define nvkm_mxm_create(p,e,o,d)                                            \
	nvkm_mxm_create_((p), (e), (o), sizeof(**d), (void **)d)
#define nvkm_mxm_init(p)                                                    \
22
	nvkm_subdev_init_old(&(p)->subdev)
23
#define nvkm_mxm_fini(p,s)                                                  \
24
	nvkm_subdev_fini_old(&(p)->subdev, (s))
25 26 27 28 29 30 31 32 33
int  nvkm_mxm_create_(struct nvkm_object *, struct nvkm_object *,
			 struct nvkm_oclass *, int, void **);
void nvkm_mxm_destroy(struct nvkm_mxm *);

#define _nvkm_mxm_dtor _nvkm_subdev_dtor
#define _nvkm_mxm_init _nvkm_subdev_init
#define _nvkm_mxm_fini _nvkm_subdev_fini

extern struct nvkm_oclass nv50_mxm_oclass;
34
#endif