提交 e7992fc5 编写于 作者: G Gerd Hoffmann

display/edid: add qemu_edid_size()

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: NGerd Hoffmann <kraxel@redhat.com>
Message-id: 20180925075646.25114-3-kraxel@redhat.com
上级 72d277a7
......@@ -423,3 +423,17 @@ void qemu_edid_generate(uint8_t *edid, size_t size,
edid_checksum(dta);
}
}
size_t qemu_edid_size(uint8_t *edid)
{
uint32_t exts;
if (edid[0] != 0x00 ||
edid[1] != 0xff) {
/* doesn't look like a valid edid block */
return 0;
}
exts = edid[126];
return 128 * (exts + 1);
}
......@@ -14,5 +14,6 @@ typedef struct qemu_edid_info {
void qemu_edid_generate(uint8_t *edid, size_t size,
qemu_edid_info *info);
size_t qemu_edid_size(uint8_t *edid);
#endif /* EDID_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册