11b255f1cSBen Skeggs /* SPDX-License-Identifier: MIT */
21b255f1cSBen Skeggs #ifndef __NVIF_OUTP_H__
31b255f1cSBen Skeggs #define __NVIF_OUTP_H__
41b255f1cSBen Skeggs #include <nvif/object.h>
51b255f1cSBen Skeggs struct nvif_disp;
61b255f1cSBen Skeggs 
71b255f1cSBen Skeggs struct nvif_outp {
81b255f1cSBen Skeggs 	struct nvif_object object;
9ea6143a8SBen Skeggs 
10ea6143a8SBen Skeggs 	struct {
11ea6143a8SBen Skeggs 		int id;
12ea6143a8SBen Skeggs 		int link;
13ea6143a8SBen Skeggs 	} or;
141b255f1cSBen Skeggs };
151b255f1cSBen Skeggs 
161b255f1cSBen Skeggs int nvif_outp_ctor(struct nvif_disp *, const char *name, int id, struct nvif_outp *);
171b255f1cSBen Skeggs void nvif_outp_dtor(struct nvif_outp *);
18dfc4005fSBen Skeggs int nvif_outp_load_detect(struct nvif_outp *, u32 loadval);
19ea6143a8SBen Skeggs int nvif_outp_acquire_rgb_crt(struct nvif_outp *);
20ea6143a8SBen Skeggs int nvif_outp_acquire_tmds(struct nvif_outp *, bool hda);
21*9793083fSBen Skeggs int nvif_outp_acquire_lvds(struct nvif_outp *, bool dual, bool bpc8);
22ea6143a8SBen Skeggs int nvif_outp_acquire_dp(struct nvif_outp *, bool hda);
23ea6143a8SBen Skeggs void nvif_outp_release(struct nvif_outp *);
241b255f1cSBen Skeggs #endif
25