Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / gpu / drm / nouveau / dispnv50 / ovly.h
1 #ifndef __NV50_KMS_OVLY_H__
2 #define __NV50_KMS_OVLY_H__
3 #include "wndw.h"
4
5 int ovly507e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
6 int ovly507e_new_(const struct nv50_wndw_func *, const u32 *format,
7                   struct nouveau_drm *, int head, s32 oclass,
8                   u32 interlock_data, struct nv50_wndw **);
9 int ovly507e_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
10                      struct nv50_head_atom *);
11 void ovly507e_release(struct nv50_wndw *, struct nv50_wndw_atom *,
12                       struct nv50_head_atom *);
13 void ovly507e_ntfy_set(struct nv50_wndw *, struct nv50_wndw_atom *);
14 void ovly507e_ntfy_clr(struct nv50_wndw *);
15 void ovly507e_image_clr(struct nv50_wndw *);
16 void ovly507e_scale_set(struct nv50_wndw *, struct nv50_wndw_atom *);
17 void ovly507e_update(struct nv50_wndw *, u32 *);
18
19 extern const u32 ovly827e_format[];
20 void ovly827e_ntfy_reset(struct nouveau_bo *, u32);
21 int ovly827e_ntfy_wait_begun(struct nouveau_bo *, u32, struct nvif_device *);
22
23 extern const struct nv50_wndw_func ovly907e;
24
25 int ovly827e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
26 int ovly907e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
27 int ovly917e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
28
29 int nv50_ovly_new(struct nouveau_drm *, int head, struct nv50_wndw **);
30 #endif