xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv50/ovly.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
1 /*	$NetBSD: ovly.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
2 
3 #ifndef __NV50_KMS_OVLY_H__
4 #define __NV50_KMS_OVLY_H__
5 #include "wndw.h"
6 
7 int ovly507e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
8 int ovly507e_new_(const struct nv50_wndw_func *, const u32 *format,
9 		  struct nouveau_drm *, int head, s32 oclass,
10 		  u32 interlock_data, struct nv50_wndw **);
11 int ovly507e_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
12 		     struct nv50_head_atom *);
13 void ovly507e_release(struct nv50_wndw *, struct nv50_wndw_atom *,
14 		      struct nv50_head_atom *);
15 void ovly507e_ntfy_set(struct nv50_wndw *, struct nv50_wndw_atom *);
16 void ovly507e_ntfy_clr(struct nv50_wndw *);
17 void ovly507e_image_clr(struct nv50_wndw *);
18 void ovly507e_scale_set(struct nv50_wndw *, struct nv50_wndw_atom *);
19 void ovly507e_update(struct nv50_wndw *, u32 *);
20 
21 extern const u32 ovly827e_format[];
22 void ovly827e_ntfy_reset(struct nouveau_bo *, u32);
23 int ovly827e_ntfy_wait_begun(struct nouveau_bo *, u32, struct nvif_device *);
24 
25 extern const struct nv50_wndw_func ovly907e;
26 
27 int ovly827e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
28 int ovly907e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
29 int ovly917e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
30 
31 int nv50_ovly_new(struct nouveau_drm *, int head, struct nv50_wndw **);
32 #endif
33