The change to edid_checksum is needed because the DisplayID section has another
checksum inside for the actually used part of its 128-byte extension block. The
checksum in this case uses the same algorithm, but for a shorter block. Thus I
added a parameter to specify the size of the block.
I'll
> +typedef struct Timings {
> +static void generate_timings(Timings *timings, uint32_t refresh_rate,
> + uint32_t xres, uint32_t yres)
Adding these should be splitted to a separate patch.
> -static void edid_checksum(uint8_t *edid)
> +static void edid_checksum(uint8_t
2021年3月14日(日) 18:12 Konstantin Nazarov :
>
> The Detailed Timing Descriptor has only 12 bits to store the
> resolution. This limits the guest to 4095 pixels.
>
> This patch adds support for the DisplayID extension, that has 2 full
> bytes for that purpose, thus allowing 5k resolutions and above.
>