2018-09-25 10:56:42 +03:00
|
|
|
#ifndef EDID_H
|
|
|
|
#define EDID_H
|
|
|
|
|
|
|
|
typedef struct qemu_edid_info {
|
2018-10-05 12:19:34 +03:00
|
|
|
const char *vendor; /* http://www.uefi.org/pnp_id_list */
|
2018-09-25 10:56:42 +03:00
|
|
|
const char *name;
|
|
|
|
const char *serial;
|
2020-09-27 17:57:47 +03:00
|
|
|
uint16_t width_mm;
|
|
|
|
uint16_t height_mm;
|
2018-09-25 10:56:42 +03:00
|
|
|
uint32_t prefx;
|
|
|
|
uint32_t prefy;
|
|
|
|
uint32_t maxx;
|
|
|
|
uint32_t maxy;
|
2021-04-27 18:08:21 +03:00
|
|
|
uint32_t refresh_rate;
|
2018-09-25 10:56:42 +03:00
|
|
|
} qemu_edid_info;
|
|
|
|
|
|
|
|
void qemu_edid_generate(uint8_t *edid, size_t size,
|
|
|
|
qemu_edid_info *info);
|
2018-09-25 10:56:43 +03:00
|
|
|
size_t qemu_edid_size(uint8_t *edid);
|
2018-09-25 10:56:44 +03:00
|
|
|
void qemu_edid_region_io(MemoryRegion *region, Object *owner,
|
|
|
|
uint8_t *edid, size_t size);
|
2018-09-25 10:56:42 +03:00
|
|
|
|
2020-09-27 17:57:47 +03:00
|
|
|
uint32_t qemu_edid_dpi_to_mm(uint32_t dpi, uint32_t res);
|
|
|
|
|
2021-04-27 18:08:21 +03:00
|
|
|
#define DEFINE_EDID_PROPERTIES(_state, _edid_info) \
|
|
|
|
DEFINE_PROP_UINT32("xres", _state, _edid_info.prefx, 0), \
|
|
|
|
DEFINE_PROP_UINT32("yres", _state, _edid_info.prefy, 0), \
|
|
|
|
DEFINE_PROP_UINT32("xmax", _state, _edid_info.maxx, 0), \
|
|
|
|
DEFINE_PROP_UINT32("ymax", _state, _edid_info.maxy, 0), \
|
|
|
|
DEFINE_PROP_UINT32("refresh_rate", _state, _edid_info.refresh_rate, 0)
|
2018-09-25 10:56:45 +03:00
|
|
|
|
2018-09-25 10:56:42 +03:00
|
|
|
#endif /* EDID_H */
|