drm/nouveau/disp: add internal representaion of output paths and connectors
[deliverable/linux.git] / drivers / gpu / drm / nouveau / core / include / engine / disp.h
CommitLineData
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
9enum 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
16struct 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
25static inline struct nouveau_disp *
26nouveau_disp(void *obj)
27{
28 return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_DISP];
29}
30
a8f8b489
BS
31extern struct nouveau_oclass *nv04_disp_oclass;
32extern struct nouveau_oclass *nv50_disp_oclass;
33extern struct nouveau_oclass *nv84_disp_oclass;
34extern struct nouveau_oclass *nva0_disp_oclass;
35extern struct nouveau_oclass *nv94_disp_oclass;
36extern struct nouveau_oclass *nva3_disp_oclass;
37extern struct nouveau_oclass *nvd0_disp_oclass;
38extern struct nouveau_oclass *nve0_disp_oclass;
39extern struct nouveau_oclass *nvf0_disp_oclass;
c68c29c0 40extern struct nouveau_oclass *gm107_disp_oclass;
ebb945a9
BS
41
42#endif
This page took 0.125769 seconds and 5 git commands to generate.