11590700dSBen Skeggs #ifndef __NV50_KMS_OVLY_H__
21590700dSBen Skeggs #define __NV50_KMS_OVLY_H__
31590700dSBen Skeggs #include "wndw.h"
41590700dSBen Skeggs 
51590700dSBen Skeggs int ovly507e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
653e0a3e7SBen Skeggs int ovly507e_new_(const struct nv50_wndw_func *, const u32 *format,
753e0a3e7SBen Skeggs 		  struct nouveau_drm *, int head, s32 oclass,
853e0a3e7SBen Skeggs 		  u32 interlock_data, struct nv50_wndw **);
92ce7f386SBen Skeggs int ovly507e_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
102ce7f386SBen Skeggs 		     struct nv50_head_atom *);
112ce7f386SBen Skeggs void ovly507e_release(struct nv50_wndw *, struct nv50_wndw_atom *,
122ce7f386SBen Skeggs 		      struct nv50_head_atom *);
132ce7f386SBen Skeggs void ovly507e_ntfy_set(struct nv50_wndw *, struct nv50_wndw_atom *);
142ce7f386SBen Skeggs void ovly507e_ntfy_clr(struct nv50_wndw *);
152ce7f386SBen Skeggs void ovly507e_image_clr(struct nv50_wndw *);
162ce7f386SBen Skeggs void ovly507e_scale_set(struct nv50_wndw *, struct nv50_wndw_atom *);
172ce7f386SBen Skeggs void ovly507e_update(struct nv50_wndw *, u32 *);
1853e0a3e7SBen Skeggs 
1953e0a3e7SBen Skeggs extern const u32 ovly827e_format[];
202ce7f386SBen Skeggs void ovly827e_ntfy_reset(struct nouveau_bo *, u32);
212ce7f386SBen Skeggs int ovly827e_ntfy_wait_begun(struct nouveau_bo *, u32, struct nvif_device *);
222ce7f386SBen Skeggs 
232ce7f386SBen Skeggs extern const struct nv50_wndw_func ovly907e;
2453e0a3e7SBen Skeggs 
2553e0a3e7SBen Skeggs int ovly827e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
2653e0a3e7SBen Skeggs int ovly907e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
272ce7f386SBen Skeggs int ovly917e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
281590700dSBen Skeggs 
291590700dSBen Skeggs int nv50_ovly_new(struct nouveau_drm *, int head, struct nv50_wndw **);
301590700dSBen Skeggs #endif
31