3cd54469311aa5644e543ca64fcb005ea1918318
[linux-block.git] / drivers / gpu / drm / nouveau / dispnv50 / core.h
1 #ifndef __NV50_KMS_CORE_H__
2 #define __NV50_KMS_CORE_H__
3 #include "disp.h"
4 #include "atom.h"
5
6 struct nv50_core {
7         const struct nv50_core_func *func;
8         struct nv50_dmac chan;
9 };
10
11 int nv50_core_new(struct nouveau_drm *, struct nv50_core **);
12 void nv50_core_del(struct nv50_core **);
13
14 struct nv50_core_func {
15         const struct nv50_head_func *head;
16         const struct nv50_outp_func {
17                 void (*ctrl)(struct nv50_core *, int or, u32 ctrl,
18                              struct nv50_head_atom *);
19         } *dac, *pior, *sor;
20 };
21
22 int core507d_new(struct nouveau_drm *, s32, struct nv50_core **);
23 extern const struct nv50_outp_func dac507d;
24 extern const struct nv50_outp_func sor507d;
25 extern const struct nv50_outp_func pior507d;
26 #endif