1 #ifndef __NVKM_DISP_PRIV_H__
2 #define __NVKM_DISP_PRIV_H__
3 #include <engine/disp.h>
7 int nvkm_disp_ctor(const struct nvkm_disp_func
*, struct nvkm_device
*,
8 int index
, int heads
, struct nvkm_disp
*);
9 int nvkm_disp_new_(const struct nvkm_disp_func
*, struct nvkm_device
*,
10 int index
, int heads
, struct nvkm_disp
**);
11 void nvkm_disp_vblank(struct nvkm_disp
*, int head
);
13 struct nvkm_disp_func_outp
{
14 int (* crt
)(struct nvkm_disp
*, int index
, struct dcb_output
*,
15 struct nvkm_output
**);
16 int (* tv
)(struct nvkm_disp
*, int index
, struct dcb_output
*,
17 struct nvkm_output
**);
18 int (*tmds
)(struct nvkm_disp
*, int index
, struct dcb_output
*,
19 struct nvkm_output
**);
20 int (*lvds
)(struct nvkm_disp
*, int index
, struct dcb_output
*,
21 struct nvkm_output
**);
22 int (* dp
)(struct nvkm_disp
*, int index
, struct dcb_output
*,
23 struct nvkm_output
**);
26 struct nvkm_disp_func
{
27 void *(*dtor
)(struct nvkm_disp
*);
28 void (*intr
)(struct nvkm_disp
*);
30 const struct nvkm_disp_oclass
*(*root
)(struct nvkm_disp
*);
33 void (*vblank_init
)(struct nvkm_disp
*, int head
);
34 void (*vblank_fini
)(struct nvkm_disp
*, int head
);
38 const struct nvkm_disp_func_outp internal
;
39 const struct nvkm_disp_func_outp external
;
43 int nvkm_disp_ntfy(struct nvkm_object
*, u32
, struct nvkm_event
**);
45 extern const struct nvkm_disp_oclass nv04_disp_root_oclass
;
47 struct nvkm_disp_oclass
{
48 int (*ctor
)(struct nvkm_disp
*, const struct nvkm_oclass
*,
49 void *data
, u32 size
, struct nvkm_object
**);
50 struct nvkm_sclass base
;