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
7int ovly507e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
8int 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 **);
11int ovly507e_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
12		     struct nv50_head_atom *);
13void ovly507e_release(struct nv50_wndw *, struct nv50_wndw_atom *,
14		      struct nv50_head_atom *);
15void ovly507e_ntfy_set(struct nv50_wndw *, struct nv50_wndw_atom *);
16void ovly507e_ntfy_clr(struct nv50_wndw *);
17void ovly507e_image_clr(struct nv50_wndw *);
18void ovly507e_scale_set(struct nv50_wndw *, struct nv50_wndw_atom *);
19void ovly507e_update(struct nv50_wndw *, u32 *);
20
21extern const u32 ovly827e_format[];
22void ovly827e_ntfy_reset(struct nouveau_bo *, u32);
23int ovly827e_ntfy_wait_begun(struct nouveau_bo *, u32, struct nvif_device *);
24
25extern const struct nv50_wndw_func ovly907e;
26
27int ovly827e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
28int ovly907e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
29int ovly917e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
30
31int nv50_ovly_new(struct nouveau_drm *, int head, struct nv50_wndw **);
32#endif
33