Commit | Line | Data |
---|---|---|
ebb945a9 BS |
1 | #ifndef __NOUVEAU_DISP_H__ |
2 | #define __NOUVEAU_DISP_H__ | |
3 | ||
4 | #include <core/object.h> | |
5 | #include <core/engine.h> | |
6 | #include <core/device.h> | |
1d7c71a3 | 7 | #include <core/event.h> |
ebb945a9 | 8 | |
7a014a87 BS |
9 | enum nvkm_hpd_event { |
10 | NVKM_HPD_PLUG = 1, | |
11 | NVKM_HPD_UNPLUG = 2, | |
12 | NVKM_HPD_IRQ = 4, | |
13 | NVKM_HPD = (NVKM_HPD_PLUG | NVKM_HPD_UNPLUG | NVKM_HPD_IRQ) | |
14 | }; | |
15 | ||
ebb945a9 BS |
16 | struct nouveau_disp { |
17 | struct nouveau_engine base; | |
7a014a87 BS |
18 | |
19 | struct list_head outp; | |
20 | struct nouveau_event *hpd; | |
21 | ||
1d7c71a3 | 22 | struct nouveau_event *vblank; |
ebb945a9 BS |
23 | }; |
24 | ||
25 | static inline struct nouveau_disp * | |
26 | nouveau_disp(void *obj) | |
27 | { | |
28 | return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_DISP]; | |
29 | } | |
30 | ||
a8f8b489 BS |
31 | extern struct nouveau_oclass *nv04_disp_oclass; |
32 | extern struct nouveau_oclass *nv50_disp_oclass; | |
33 | extern struct nouveau_oclass *nv84_disp_oclass; | |
34 | extern struct nouveau_oclass *nva0_disp_oclass; | |
35 | extern struct nouveau_oclass *nv94_disp_oclass; | |
36 | extern struct nouveau_oclass *nva3_disp_oclass; | |
37 | extern struct nouveau_oclass *nvd0_disp_oclass; | |
38 | extern struct nouveau_oclass *nve0_disp_oclass; | |
39 | extern struct nouveau_oclass *nvf0_disp_oclass; | |
c68c29c0 | 40 | extern struct nouveau_oclass *gm107_disp_oclass; |
ebb945a9 BS |
41 | |
42 | #endif |