edid: fix physical display size computation

Divide the resolution by the DPI, and multiply to mm.

Note the computation done for edid[21/22] is correct (in cm).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20200927145751.365446-2-marcandre.lureau@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Marc-André Lureau 2020-09-27 18:57:46 +04:00 committed by Gerd Hoffmann
parent 3745d59ee4
commit 6c8f847ac1

View file

@ -208,8 +208,8 @@ static void edid_desc_timing(uint8_t *desc,
uint32_t dpi)
{
/* physical display size */
uint32_t xmm = xres * dpi / 254;
uint32_t ymm = yres * dpi / 254;
uint32_t xmm = xres * 254 / 10 / dpi;
uint32_t ymm = yres * 254 / 10 / dpi;
/* pull some realistic looking timings out of thin air */
uint32_t xfront = xres * 25 / 100;