From: Gerd Hoffmann Date: Tue, 27 Apr 2021 15:08:20 +0000 (+0200) Subject: edid: use dta extension block descriptors X-Git-Tag: v6.1.0-rc0~131^2~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4f9e268637f334d639a3d3ab5f1f06dfe6e93bc0;p=thirdparty%2Fqemu.git edid: use dta extension block descriptors When the 4 descriptors in the base edid block are filled, jump to the dta extension block. This allows for more than four descriptors. Happens for example when generating an edid blob with a serial number (qemu-edid -s $serial). Signed-off-by: Gerd Hoffmann Reviewed-by: Marc-André Lureau Message-id: 20210427150824.638359-1-kraxel@redhat.com Message-Id: <20210427150824.638359-5-kraxel@redhat.com> --- diff --git a/hw/display/edid-generate.c b/hw/display/edid-generate.c index 25f790c7bd8..42a130f0ff5 100644 --- a/hw/display/edid-generate.c +++ b/hw/display/edid-generate.c @@ -152,6 +152,14 @@ static uint8_t *edid_desc_next(uint8_t *edid, uint8_t *dta, uint8_t *desc) if (desc + 18 + 18 < edid + 127) { return desc + 18; } + if (dta) { + if (desc < edid + 127) { + return dta + dta[2]; + } + if (desc + 18 + 18 < dta + 127) { + return desc + 18; + } + } return NULL; }