summaryrefslogtreecommitdiffstats
path: root/include/hw/display/edid.h
Commit message (Collapse)AuthorAgeFilesLines
* edid: use physical dimensions if availableMarc-André Lureau2020-09-291-1/+4
| | | | | | | | | | Replace dpi with width_mm/height_mm in qemu_edid_info. Use it when set (non-zero) to compute the DPI and generate the EDID. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 20200927145751.365446-3-marcandre.lureau@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* qom/object: Move Object typedef to 'qemu/typedefs.h'Philippe Mathieu-Daudé2020-06-101-3/+0Star
| | | | | | | | | We use the Object type all over the place. Forward declare it in "qemu/typedefs.h". Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20200504115656.6045-2-f4bug@amsat.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* hw/display/edid: Add missing 'qdev-properties.h' headerPhilippe Mathieu-Daudé2020-05-281-0/+1
| | | | | | | | | | | | | | | | | | | | When trying to consume the DEFINE_EDID_PROPERTIES() macro by including "hw/display/edid.h", we get this build failure: include/hw/display/edid.h:24:5: error: implicit declaration of function ‘DEFINE_PROP_UINT32’ [-Werror=implicit-function-declaration] 24 | DEFINE_PROP_UINT32("xres", _state, _edid_info.prefx, 0), \ | ^~~~~~~~~~~~~~~~~~ Headers should be self-contained, and one shouldn't have to dig to find the missing headers. In this case "hw/qdev-properties.h" is missing. Add it. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20200526062252.19852-2-f4bug@amsat.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* Include qom/object.h slightly lessMarkus Armbruster2019-08-161-1/+1
| | | | | | | | | | | hw/hw.h used to include headers hardware emulation "usually" needs. The previous commits removed all but one of them, to good effect. Only qom/object.h is left. Remove that one, too. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190812052359.30071-18-armbru@redhat.com>
* edid: add xmax + ymax propertiesGerd Hoffmann2019-06-131-1/+3
| | | | | | | | | | | | | Add new properties to allow setting the maximum display resolution. Resolutions larger than that will not be included in the mode list. In linux guests xrandr can be used to list modes. Note: The existing xres and yres properties set the preferred display resolution, i.e. the mode should be first in the mode list and guests should use it by default. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20190607083429.31943-1-kraxel@redhat.com
* edid: fix vendor defaultGerd Hoffmann2018-10-051-1/+1
| | | | | | | | | | | "EMU" actually is "Emulex Corporation", so not a good idea to use that by default. Lets use the Red Hat vendor id instead, which is in line with the pci ids which are allocated from Red Hat vendor ids too. Vendor list is available from http://www.uefi.org/pnp_id_list Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20181005091934.12143-1-kraxel@redhat.com
* display/edid: add DEFINE_EDID_PROPERTIESGerd Hoffmann2018-09-271-0/+4
| | | | | | | Add a define for edid monitor properties. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20180925075646.25114-5-kraxel@redhat.com
* display/edid: add region helper.Gerd Hoffmann2018-09-271-0/+4
| | | | | | | | Create a io region for an EDID data block. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20180925075646.25114-4-kraxel@redhat.com
* display/edid: add qemu_edid_size()Gerd Hoffmann2018-09-271-0/+1
| | | | | | | | | Helper function to figure the size of a edid blob, by checking how many extensions are present. Both the base edid blob and the extensions are 128 bytes in size. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20180925075646.25114-3-kraxel@redhat.com
* display/edid: add edid generator to qemu.Gerd Hoffmann2018-09-271-0/+18
EDID is a metadata format to describe monitors. On physical hardware the monitor has an eeprom with that data block which can be read over i2c bus. On a linux system you can usually find the EDID data block in /sys/class/drm/$card/$connector/edid. xorg ships a edid-decode utility which you can use to turn the blob into readable form. I think it would be a good idea to use EDID for virtual displays too. Needs changes in both qemu and guest kms drivers. This patch is the first step, it adds an generator for EDID blobs to qemu. Comes with a qemu-edid test tool included. With EDID we can pass more information to the guest. Names and serial numbers, so the guests display configuration has no boring "Unknown Monitor". List of video modes. Display resolution, pretty important in case we want add HiDPI support some day. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20180925075646.25114-2-kraxel@redhat.com