forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h
....@@ -1,4 +1,4 @@
1
-/* SPDX-License-Identifier: GPL-2.0 */
1
+/* SPDX-License-Identifier: MIT */
22 #ifndef __NVKM_DISP_IOR_H__
33 #define __NVKM_DISP_IOR_H__
44 #include "priv.h"
....@@ -41,6 +41,11 @@
4141 u8 nr;
4242 u8 bw;
4343 } dp;
44
+
45
+ /* Armed TMDS state. */
46
+ struct {
47
+ bool high_speed;
48
+ } tmds;
4449 };
4550
4651 struct nvkm_ior_func {
....@@ -61,6 +66,7 @@
6166 void (*ctrl)(struct nvkm_ior *, int head, bool enable,
6267 u8 max_ac_packet, u8 rekey, u8 *avi, u8 avi_size,
6368 u8 *vendor, u8 vendor_size);
69
+ void (*scdc)(struct nvkm_ior *, u8 scdc);
6470 } hdmi;
6571
6672 struct {
....@@ -81,7 +87,8 @@
8187
8288 struct {
8389 void (*hpd)(struct nvkm_ior *, int head, bool present);
84
- void (*eld)(struct nvkm_ior *, u8 *data, u8 size);
90
+ void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size);
91
+ void (*device_entry)(struct nvkm_ior *, int head);
8592 } hda;
8693 };
8794
....@@ -138,17 +145,27 @@
138145 int gm200_sor_route_get(struct nvkm_outp *, int *);
139146 void gm200_sor_dp_drive(struct nvkm_ior *, int, int, int, int, int);
140147
148
+void gv100_sor_state(struct nvkm_ior *, struct nvkm_ior_state *);
149
+void gv100_sor_dp_audio(struct nvkm_ior *, int, bool);
150
+void gv100_sor_dp_audio_sym(struct nvkm_ior *, int, u16, u32);
151
+void gv100_sor_dp_watermark(struct nvkm_ior *, int, u8);
152
+
141153 void g84_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8);
142154 void gt215_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8);
143155 void gf119_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8);
144156 void gk104_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8);
145157 void gv100_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8);
146158
159
+void gm200_hdmi_scdc(struct nvkm_ior *, u8);
160
+
147161 void gt215_hda_hpd(struct nvkm_ior *, int, bool);
148
-void gt215_hda_eld(struct nvkm_ior *, u8 *, u8);
162
+void gt215_hda_eld(struct nvkm_ior *, int, u8 *, u8);
149163
150164 void gf119_hda_hpd(struct nvkm_ior *, int, bool);
151
-void gf119_hda_eld(struct nvkm_ior *, u8 *, u8);
165
+void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8);
166
+void gf119_hda_device_entry(struct nvkm_ior *, int);
167
+
168
+void gv100_hda_device_entry(struct nvkm_ior *, int);
152169
153170 #define IOR_MSG(i,l,f,a...) do { \
154171 struct nvkm_ior *_ior = (i); \
....@@ -184,7 +201,10 @@
184201 int gk104_sor_new(struct nvkm_disp *, int);
185202 int gm107_sor_new(struct nvkm_disp *, int);
186203 int gm200_sor_new(struct nvkm_disp *, int);
204
+int gp100_sor_new(struct nvkm_disp *, int);
187205
188206 int gv100_sor_cnt(struct nvkm_disp *, unsigned long *);
189207 int gv100_sor_new(struct nvkm_disp *, int);
208
+
209
+int tu102_sor_new(struct nvkm_disp *, int);
190210 #endif