edid.h 1.1 KB

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