xref: /openbmc/linux/drivers/gpu/drm/nouveau/dispnv50/base.h (revision 53e0a3e70de69dc9f498d26c6b5495b2771ee374)
11590700dSBen Skeggs #ifndef __NV50_KMS_BASE_H__
21590700dSBen Skeggs #define __NV50_KMS_BASE_H__
31590700dSBen Skeggs #include "wndw.h"
41590700dSBen Skeggs 
51590700dSBen Skeggs int base507c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
6ccd27db8SBen Skeggs int base507c_new_(const struct nv50_wndw_func *, const u32 *format,
7ccd27db8SBen Skeggs 		  struct nouveau_drm *, int head, s32 oclass,
8*53e0a3e7SBen Skeggs 		  u32 interlock_data, struct nv50_wndw **);
9ccd27db8SBen Skeggs extern const u32 base507c_format[];
10ccd27db8SBen Skeggs int base507c_acquire(struct nv50_wndw *, struct nv50_wndw_atom *,
11ccd27db8SBen Skeggs 		     struct nv50_head_atom *);
12ccd27db8SBen Skeggs void base507c_release(struct nv50_wndw *, struct nv50_wndw_atom *,
13ccd27db8SBen Skeggs 		      struct nv50_head_atom *);
14ccd27db8SBen Skeggs void base507c_sema_set(struct nv50_wndw *, struct nv50_wndw_atom *);
15ccd27db8SBen Skeggs void base507c_sema_clr(struct nv50_wndw *);
16ccd27db8SBen Skeggs void base507c_ntfy_reset(struct nouveau_bo *, u32);
17ccd27db8SBen Skeggs void base507c_ntfy_set(struct nv50_wndw *, struct nv50_wndw_atom *);
18ccd27db8SBen Skeggs void base507c_ntfy_clr(struct nv50_wndw *);
19ccd27db8SBen Skeggs int base507c_ntfy_wait_begun(struct nouveau_bo *, u32, struct nvif_device *);
20ccd27db8SBen Skeggs void base507c_image_clr(struct nv50_wndw *);
21ccd27db8SBen Skeggs void base507c_lut(struct nv50_wndw *, struct nv50_wndw_atom *);
22*53e0a3e7SBen Skeggs void base507c_update(struct nv50_wndw *, u32 *);
23ccd27db8SBen Skeggs 
24ccd27db8SBen Skeggs int base827c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
25ccd27db8SBen Skeggs 
26ccd27db8SBen Skeggs int base907c_new(struct nouveau_drm *, int, s32, struct nv50_wndw **);
271590700dSBen Skeggs 
281590700dSBen Skeggs int nv50_base_new(struct nouveau_drm *, int head, struct nv50_wndw **);
291590700dSBen Skeggs #endif
30