1 #ifndef __NOUVEAU_DISP_H__
2 #define __NOUVEAU_DISP_H__
4 #include <core/object.h>
5 #include <core/engine.h>
6 #include <core/device.h>
9 struct nouveau_engine base
;
12 struct list_head list
;
14 void (*notify
)(void *, int);
15 void (*get
)(void *, int);
16 void (*put
)(void *, int);
21 static inline struct nouveau_disp
*
22 nouveau_disp(void *obj
)
24 return (void *)nv_device(obj
)->subdev
[NVDEV_ENGINE_DISP
];
27 #define nouveau_disp_create(p,e,c,i,x,d) \
28 nouveau_engine_create((p), (e), (c), true, (i), (x), (d))
29 #define nouveau_disp_destroy(d) \
30 nouveau_engine_destroy(&(d)->base)
31 #define nouveau_disp_init(d) \
32 nouveau_engine_init(&(d)->base)
33 #define nouveau_disp_fini(d,s) \
34 nouveau_engine_fini(&(d)->base, (s))
36 #define _nouveau_disp_dtor _nouveau_engine_dtor
37 #define _nouveau_disp_init _nouveau_engine_init
38 #define _nouveau_disp_fini _nouveau_engine_fini
40 extern struct nouveau_oclass nv04_disp_oclass
;
41 extern struct nouveau_oclass nv50_disp_oclass
;
42 extern struct nouveau_oclass nv84_disp_oclass
;
43 extern struct nouveau_oclass nva0_disp_oclass
;
44 extern struct nouveau_oclass nv94_disp_oclass
;
45 extern struct nouveau_oclass nva3_disp_oclass
;
46 extern struct nouveau_oclass nvd0_disp_oclass
;
47 extern struct nouveau_oclass nve0_disp_oclass
;