18c2ecf20Sopenharmony_ci#ifndef __NV50_KMS_BASE_H__
28c2ecf20Sopenharmony_ci#define __NV50_KMS_BASE_H__
38c2ecf20Sopenharmony_ci#include "wndw.h"
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciint base507c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
68c2ecf20Sopenharmony_ciint base507c_new_(const struct nv50_wndw_func *, const u32 *format,
78c2ecf20Sopenharmony_ci		  struct nouveau_drm *, int head, s32 oclass,
88c2ecf20Sopenharmony_ci		  u32 interlock_data, struct nv50_wndw **);
98c2ecf20Sopenharmony_ciextern const u32 base507c_format[];
108c2ecf20Sopenharmony_ciint base507c_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
118c2ecf20Sopenharmony_ci		     struct nv50_head_atom *);
128c2ecf20Sopenharmony_civoid base507c_release(struct nv50_wndw *, struct nv50_wndw_atom *,
138c2ecf20Sopenharmony_ci		      struct nv50_head_atom *);
148c2ecf20Sopenharmony_ciint base507c_sema_set(struct nv50_wndw *, struct nv50_wndw_atom *);
158c2ecf20Sopenharmony_ciint base507c_sema_clr(struct nv50_wndw *);
168c2ecf20Sopenharmony_ciint base507c_xlut_set(struct nv50_wndw *, struct nv50_wndw_atom *);
178c2ecf20Sopenharmony_ciint base507c_xlut_clr(struct nv50_wndw *);
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciint base827c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciint base907c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
228c2ecf20Sopenharmony_ciextern const struct nv50_wndw_func base907c;
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciint base917c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciint nv50_base_new(struct nouveau_drm *, int head, struct nv50_wndw **);
278c2ecf20Sopenharmony_ci#endif
28