forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/gpu/drm/i915/gvt/display.h
....@@ -35,6 +35,11 @@
3535 #ifndef _GVT_DISPLAY_H_
3636 #define _GVT_DISPLAY_H_
3737
38
+#include <linux/types.h>
39
+
40
+struct intel_gvt;
41
+struct intel_vgpu;
42
+
3843 #define SBI_REG_MAX 20
3944 #define DPCD_SIZE 0x700
4045
....@@ -146,18 +151,19 @@
146151 GVT_PORT_MAX
147152 };
148153
154
+enum intel_vgpu_edid {
155
+ GVT_EDID_1024_768,
156
+ GVT_EDID_1920_1200,
157
+ GVT_EDID_NUM,
158
+};
159
+
149160 struct intel_vgpu_port {
150161 /* per display EDID information */
151162 struct intel_vgpu_edid_data *edid;
152163 /* per display DPCD information */
153164 struct intel_vgpu_dpcd_data *dpcd;
154165 int type;
155
-};
156
-
157
-enum intel_vgpu_edid {
158
- GVT_EDID_1024_768,
159
- GVT_EDID_1920_1200,
160
- GVT_EDID_NUM,
166
+ enum intel_vgpu_edid id;
161167 };
162168
163169 static inline char *vgpu_edid_str(enum intel_vgpu_edid id)
....@@ -172,6 +178,30 @@
172178 }
173179 }
174180
181
+static inline unsigned int vgpu_edid_xres(enum intel_vgpu_edid id)
182
+{
183
+ switch (id) {
184
+ case GVT_EDID_1024_768:
185
+ return 1024;
186
+ case GVT_EDID_1920_1200:
187
+ return 1920;
188
+ default:
189
+ return 0;
190
+ }
191
+}
192
+
193
+static inline unsigned int vgpu_edid_yres(enum intel_vgpu_edid id)
194
+{
195
+ switch (id) {
196
+ case GVT_EDID_1024_768:
197
+ return 768;
198
+ case GVT_EDID_1920_1200:
199
+ return 1200;
200
+ default:
201
+ return 0;
202
+ }
203
+}
204
+
175205 void intel_gvt_emulate_vblank(struct intel_gvt *gvt);
176206 void intel_gvt_check_vblank_emulation(struct intel_gvt *gvt);
177207