master
h 34 lines 1.16 KB
Raw
1 #ifndef EDID_H
2 #define EDID_H
3
4 #define EDID_NAME_MAX_LENGTH 12
5
6 typedef struct qemu_edid_info {
7 const char *vendor; /* http://www.uefi.org/pnp_id_list */
8 const char *name;
9 const char *serial;
10 uint16_t width_mm;
11 uint16_t height_mm;
12 uint32_t prefx;
13 uint32_t prefy;
14 uint32_t maxx;
15 uint32_t maxy;
16 uint32_t refresh_rate;
17 } qemu_edid_info;
18
19 void qemu_edid_generate(uint8_t *edid, size_t size,
20 qemu_edid_info *info);
21 size_t qemu_edid_size(uint8_t *edid);
22 void qemu_edid_region_io(MemoryRegion *region, Object *owner,
23 uint8_t *edid, size_t size);
24
25 uint32_t qemu_edid_dpi_to_mm(uint32_t dpi, uint32_t res);
26
27 #define DEFINE_EDID_PROPERTIES(_state, _edid_info) \
28 DEFINE_PROP_UINT32("xres", _state, _edid_info.prefx, 0), \
29 DEFINE_PROP_UINT32("yres", _state, _edid_info.prefy, 0), \
30 DEFINE_PROP_UINT32("xmax", _state, _edid_info.maxx, 0), \
31 DEFINE_PROP_UINT32("ymax", _state, _edid_info.maxy, 0), \
32 DEFINE_PROP_UINT32("refresh_rate", _state, _edid_info.refresh_rate, 0)
33
34 #endif /* EDID_H */