162306a36Sopenharmony_ci#ifndef __NV50_KMS_OVLY_H__
262306a36Sopenharmony_ci#define __NV50_KMS_OVLY_H__
362306a36Sopenharmony_ci#include "wndw.h"
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciint ovly507e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
662306a36Sopenharmony_ciint ovly507e_new_(const struct nv50_wndw_func *, const u32 *format,
762306a36Sopenharmony_ci		  struct nouveau_drm *, int head, s32 oclass,
862306a36Sopenharmony_ci		  u32 interlock_data, struct nv50_wndw **);
962306a36Sopenharmony_ciint ovly507e_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
1062306a36Sopenharmony_ci		     struct nv50_head_atom *);
1162306a36Sopenharmony_civoid ovly507e_release(struct nv50_wndw *, struct nv50_wndw_atom *,
1262306a36Sopenharmony_ci		      struct nv50_head_atom *);
1362306a36Sopenharmony_ciint ovly507e_scale_set(struct nv50_wndw *, struct nv50_wndw_atom *);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciextern const u32 ovly827e_format[];
1662306a36Sopenharmony_civoid ovly827e_ntfy_reset(struct nouveau_bo *, u32);
1762306a36Sopenharmony_ciint ovly827e_ntfy_wait_begun(struct nouveau_bo *, u32, struct nvif_device *);
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciextern const struct nv50_wndw_func ovly907e;
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciint ovly827e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
2262306a36Sopenharmony_ciint ovly907e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
2362306a36Sopenharmony_ciint ovly917e_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciint nv50_ovly_new(struct nouveau_drm *, int head, struct nv50_wndw **);
2662306a36Sopenharmony_ci#endif
27