1/*	$NetBSD: base.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $	*/
2
3#ifndef __NV50_KMS_BASE_H__
4#define __NV50_KMS_BASE_H__
5#include "wndw.h"
6
7int base507c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
8int base507c_new_(const struct nv50_wndw_func *, const u32 *format,
9		  struct nouveau_drm *, int head, s32 oclass,
10		  u32 interlock_data, struct nv50_wndw **);
11extern const u32 base507c_format[];
12int base507c_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
13		     struct nv50_head_atom *);
14void base507c_release(struct nv50_wndw *, struct nv50_wndw_atom *,
15		      struct nv50_head_atom *);
16void base507c_sema_set(struct nv50_wndw *, struct nv50_wndw_atom *);
17void base507c_sema_clr(struct nv50_wndw *);
18void base507c_ntfy_set(struct nv50_wndw *, struct nv50_wndw_atom *);
19void base507c_ntfy_clr(struct nv50_wndw *);
20void base507c_xlut_set(struct nv50_wndw *, struct nv50_wndw_atom *);
21void base507c_xlut_clr(struct nv50_wndw *);
22void base507c_image_clr(struct nv50_wndw *);
23void base507c_update(struct nv50_wndw *, u32 *);
24
25int base827c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
26
27int base907c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
28extern const struct nv50_wndw_func base907c;
29
30int base917c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
31
32int nv50_base_new(struct nouveau_drm *, int head, struct nv50_wndw **);
33#endif
34